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
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?