Hello, my binary search approach for problem e is , suppose we had played x-1 round and currently at round x , we will check whether we can kill monter in that round x or not , if yes we shift high to curr round — 1 else low to curr round + 1 .
my low range query is = 2 , since i alredy checked for round 1 , trivially . and high range r = (h / abs(sum) ) +1. where sum is my vector sum .
But the approach is continuously giving WA at tc : 92 .
https://codeforces.net/contest/1141/submission/51547489
where my approach is wrong .
Here's a tip to debug your code. Try asserting an invariant. Then, if you get runtime error, you will know where your logic fails.
Just a first thought: doesn't
std::accumulate(iter, iter, int)
return anint
?Thank you very much mnbvmar
i changed it to long long instead of using accumulator and it passed..
i spent 2 hrs yesterday on debugging it.. you taught me a new thing where to use accumulator.. Thanks to you ... for the help..
ac code
You could as well replace
long long sum = accumulate(v.begin() , v.end() , 0);
bylong long sum = accumulate(v.begin() , v.end() , 0ll);
and it would work