Submission #809098

#TimeUsernameProblemLanguageResultExecution timeMemory
809098annabeth9680Rice Hub (IOI11_ricehub)C++17
100 / 100
13 ms2516 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; vector<ll> arr; bool check(int val, int n, ll B){ for(int i = 1;i<=n-val+1;++i){ int r = i+val-1; int m = (i+r)/2; ll geld; if(val%2 == 0){ geld = (arr[r]-arr[m])-(arr[m]-arr[i-1]); } else{ geld = (arr[r]-arr[m])-(arr[m-1]-arr[i-1]); } if(geld <= B){ //cout << val << " " << geld << " " << i << "\n"; return true; } } return false; } int besthub(int R, int L, int X[], ll B){ arr.resize(R+1); arr[0] = 0; for(int i = 1;i<=R;++i){ arr[i] = arr[i-1]+X[i-1]; } int l = 0, r = R; while(l < r){ //cout << l << " " << r << "\n"; int mid = (l+r+1)/2; if(check(mid,R,B)){ l = mid; } else{ r = mid-1; } } return l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...