제출 #1193139

#제출 시각아이디문제언어결과실행 시간메모리
1193139nuutsnoyntonRice Hub (IOI11_ricehub)C++20
0 / 100
0 ms320 KiB
#include<bits/stdc++.h> #include "ricehub.h" using ll = long long; using namespace std; ll pre_sum[100002]; ll range_sum(ll lo, ll hi) { if ( lo == 0) return pre_sum[hi]; return pre_sum[hi] - pre_sum[lo - 1]; } int besthub(int R, int L, int X[], long long B){ int lo, hi, dund_ind, i, can, mid, Lo, Hi, mid1, lo1, hi1, lo2, hi2, max_s; ll sum, s; for (int i = 0; i < R; i ++) { if ( i == 0) pre_sum[i] = X[i]; else pre_sum[i] = pre_sum[i - 1] + X[i]; } lo = 1; hi = R; while ( lo < hi) { mid = (lo + hi)/2; can = 0; for (i = 0; i + mid - 1 < R; i ++) { dund_ind = (i + (i + mid - 1) + 1)/2; lo1 = i; hi1 = dund_ind; lo2 = dund_ind; hi2 = i + mid - 1; sum = 0; sum = sum + (hi1 - lo1 + 1) * X[i] - range_sum(lo1, hi1); sum = sum + range_sum(lo2, hi2) - (hi2 - lo2 + 1) * X[i]; if (sum <= B) can = 1; } // cout << mid << " " << can << endl; if ( can == 1) lo = mid + 1; else hi = mid; } lo --; return lo; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...