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 "koala.h"
#include <vector>
#include <numeric>
using namespace std;
using vi=vector<int>;
vi Play(vi q) {
vi ret(q.size());
playRound(q.data(), ret.data());
return ret;
}
int minValue(int N, int W) {
vi v(N);
v[0] = 1;
vi res = Play(v);
if (res[0] >= 1) res[0] -= 1;
for (int i=0; i<N; ++i) if (!res[i]) return i;
return 0;
}
int maxValue(int N, int W) {
vi larger(N);
iota(larger.begin(), larger.end(), 0);
while (larger.size() > 1u) {
vi mask(N);
int afford = W / larger.size();
for (int i:larger) mask[i] = afford;
auto res = Play(mask);
vi larger_new;
for (int i:larger) if (res[i]) larger_new.push_back(i);
}
return larger[0];
}
int greaterValue(int N, int W) {
// TODO: Implement Subtask 3 solution here.
// You may leave this function unmodified if you are not attempting this
// subtask.
return 0;
}
void allValues(int N, int W, int *P) {
if (W == 2*N) {
// TODO: Implement Subtask 4 solution here.
// You may leave this block unmodified if you are not attempting this
// subtask.
} else {
// TODO: Implement Subtask 5 solution here.
// You may leave this block unmodified if you are not attempting this
// subtask.
}
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |