Submission #55850

#TimeUsernameProblemLanguageResultExecution timeMemory
55850leejseoRice Hub (IOI11_ricehub)C++98
100 / 100
32 ms1792 KiB
#include "ricehub.h" #include <algorithm> using namespace std; long long S[1000001]; inline long long val(int i){ return i<0? 0 : S[i]; } inline long long cost(int i, int j, int X[]){ int mid = i+j >> 1; long long left = (long long) X[mid] * (mid - i) - (val(mid-1) - val(i-1)); long long right = val(j) - val(mid) - (long long) X[mid] * (j - mid); return left + right; } int besthub(int R, int L, int X[], long long B){ S[0] = X[0]; for (int i=1; i<R; i++) S[i] = S[i-1] + X[i]; int ans = 0; int i=0, j=0; while (i < R && j < R){ if (cost(i, j, X) > B){ i++; continue; } ans = max(ans, j-i+1); j++; } return ans; }

Compilation message (stderr)

ricehub.cpp: In function 'long long int cost(int, int, int*)':
ricehub.cpp:12:13: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
  int mid = i+j >> 1;
            ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...