Night_L's blog

By Night_L, history, 3 years ago, In English

In this 109101215, I got WrongAnswer because of an overflow. The overflow comes from

long long a[N], x[N], ans, spin;
int n;
vector<long long> sum;
...
ans = spin*n + lower_bound(sum.begin(),sum.end(),x[i] - spin*a[n-1]) - sum.begin();

I manage to fix it by adding parenthesis to lower_bound(..)-sum.begin().

This is learned from other guys' code. But I have no idea what I am doing and what has been corrected. Can someone explain what happens?

Full text and comments »

  • Vote: I like it
  • +5
  • Vote: I do not like it