### Mohd__Messi's blog

By Mohd__Messi, history, 9 days ago,

My submission:- https://pastebin.com/aL9vCYWu

Please anyone tell what is wrong in this code

• +4

 » 9 days ago, # |   0 Share your submission using pastebin.com
•  » » 9 days ago, # ^ | ← Rev. 2 →   0 Sorry Bro I forgot that it was not accessible publically. My bad
 » 9 days ago, # |   0 Auto comment: topic has been updated by Mohd__Messi (previous revision, new revision, compare).
 » 9 days ago, # |   0 you can solve it with a one dimension dp array like this first set the whole array to -inf execpt dp[0] = 0 for(int i = 2; i < 10001;++i) for(int x : v) // v is the vector that hold prime numbers and primatic numbers { if(i — x < 0)continue; dp[i] = min(dp[i], dp[i — x] + 1); } answer = dp[input]
 » 9 days ago, # |   0 With N = 9973 (the largest prime below 10 000), your code prints 0.
•  » » 8 days ago, # ^ |   0 Yes but why I am not able to counter that my DP solution seems OK but last few cases are giving WA. Can you please give a hint.
 » 8 days ago, # |   0 You aren't using last prime number v[m - 1] in your dp loop, because you are going from 1..m-1 (for i), but then you are using v[i - 1] in calculation, so in reality you are using 0..m-2 prime numbers.Second problem is array overflow, because in your `for(;l
•  » » 8 days ago, # ^ |   0 Thanks a lot brother I passed the last case. I declared dp[m][10001] thats why the last prime number was not getting included. Thanks a lot for pointing out my mistake.