Submission #1318432

#TimeUsernameProblemLanguageResultExecution timeMemory
1318432muramasaRice Hub (IOI11_ricehub)C++20
68 / 100
8 ms1080 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; #define ll long long int n,a[1000005],k; bool ch(int m){ ll suml = 0,sumr = 0; for(int i = 0;i < (m - 1)/2;i++) suml += a[i]; for(int i = (m + 1)/2;i < m;i++) sumr += a[i]; if((1LL * (m - 1)/2 * a[(m - 1)/2] - suml) + (sumr - (1LL * m/2 * a[(m - 1)/2])) <= k)return 1; for(int i = m;i < n;i++){ suml -= a[i - m]; suml += a[(m - 1)/2 + i - m]; sumr -= a[(m - 1)/2 + i - m + 1]; sumr += a[i]; if((1LL * (m - 1)/2 * a[(m - 1)/2 + i - m + 1] - suml) + (sumr - (1LL * m/2 * a[(m - 1)/2 + i - m + 1])) <= k)return 1; } // cout << endl; return 0; } int besthub(int R, int L, int X[], long long B) { n = R; k = B; for(int i = 0;i < n;i++)a[i] = X[i]; int l = 2,r = n,ans = 1; // ch(3); while(l <= r){ int m = (l+r)/2; if(ch(m)){ l = m + 1; ans = m; }else{ r = m - 1; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...