# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
499573 | aryan12 | 쌀 창고 (IOI11_ricehub) | C++17 | 13 ms | 2504 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
int besthub(int rice, int len, int a[], long long b) {
long long pref[rice], suf[rice];
pref[0] = a[0];
for(long long i = 1; i < rice; i++) {
pref[i] = pref[i - 1] + a[i];
}
long long right = 0, ans = 0;
for(long long left = 0; left < rice; left++) {
right = max(right, left);
while(right != rice) {
long long mid = (left + right) / 2;
long long cur_ans;
if(left != 0) cur_ans = a[mid] * (mid - left + 1) - pref[mid] + pref[left - 1];
else cur_ans = a[mid] * (mid - left + 1) - pref[mid];
if(mid != 0) cur_ans += pref[right] - pref[mid - 1] - a[mid] * (right - mid + 1);
else cur_ans += pref[right] - a[mid] * (right - mid + 1);
//cout << "l = " << left << ", mid = " << mid << ", right = " << right << ", cur_ans = " << cur_ans << "\n";
if(cur_ans <= b) {
ans = max(ans, right - left + 1);
}
else {
break;
}
right++;
}
}
return ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |