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 <bits/stdc++.h>
#include "ricehub.h"
using namespace std;
typedef long long ll;
const int N = 100000 + 7;
int n, len, x[N];
ll b, s1, s2;
deque<int> first, second;
ll compute() {
int x;
if ((int) second.size() == (int) first.size()) {
x = second.front();
} else {
x = first.back();
}
ll cost = 0;
for (auto &p : first) {
cost += x - p;
}
cost += s2;
for (auto &p : second) {
cost += - x;
}
return cost;
}
int besthub(int r, int dim, int rice_fields[], ll gold_coins) {
n = r;
len = dim;
for (int i = 1; i <= n; i++) {
x[i] = rice_fields[i - 1];
}
b = gold_coins;
int sol = 0;
for (int i = 1; i <= n; i++) {
second.push_back(x[i]);
s2 += x[i];
if ((int) second.size() > (int) first.size()) {
s2 -= second.front();
s1 += second.front();
first.push_back(second.front());
second.pop_front();
}
while (compute() > b) {
if (first.empty()) {
second.pop_front();
} else {
first.pop_front();
}
if ((int) second.size() > (int) first.size()) {
s2 -= second.front();
s1 += second.front();
first.push_back(second.front());
second.pop_front();
}
}
sol = max(sol, (int) first.size() + (int) second.size());
}
return sol;
}
Compilation message (stderr)
ricehub.cpp: In function 'll compute()':
ricehub.cpp:26:14: warning: unused variable 'p' [-Wunused-variable]
26 | for (auto &p : second) {
| ^
# | 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... |