# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1109867 | 2024-11-08T01:42:21 Z | santi3223 | Rice Hub (IOI11_ricehub) | C++17 | 0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; #define ll long long #define vl vector<ll> #define ff(i, p, x) for (ll i = p; i < x; i++) #define ed "\n" ll besthub(ll r, ll l, vl x, ll b){ vl psum(r+1, 0); ff(i, 1, r){ psum[i] = psum[i-1]+x[i]; } ll ri = 0, c = 0; ff(le, 0, r){ while(ri < r){ ll mid = le + (ri-le)/2; if(le % 2 == ri % 2){ mid++; } ll q = 0; if((le+ri+1) % 2 != 0){ q -= x[mid]; } q -= psum[mid]-psum[le]; q += psum[ri+1] - psum[mid]; if(q > b){ break; } ri++; } if(c < ri-le){ c = ri-le; } if(ri == r){ break; } } return c; }