Submission #235011

#TimeUsernameProblemLanguageResultExecution timeMemory
235011muhammad_hokimiyonRice Hub (IOI11_ricehub)C++14
100 / 100
31 ms2304 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; int besthub(int R, int L, int X[], long long B) { vector < long long > p(R , 0); vector < long long > s(R , 0); for( int i = 0; i < R; i++ ){ if( i )p[i] = p[i - 1]; p[i] += X[i]; } for( int i = R - 1; i >= 0; i-- ){ if( i < R - 1 )s[i] = s[i + 1]; s[i] += X[i]; } int ans = 0; for( int i = 0; i < R; i++ ){ int l = 0 , r = i; while( l < r ){ int m = (l + r) / 2; int m1 = (m + i) / 2; long long x = X[m1]; if( 1ll * x * (m1 - m + 1) - (p[m1] - (m > 0 ? p[m - 1] : 0)) + 1ll * (p[i] - p[m1]) - x * (i - m1) > B )l = m + 1; else r = m; } ans = max( ans , i - l + 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...