#include "koala.h"
#include <bits/stdc++.h>
using namespace std;
const int MXN = 100;
int toSend[MXN];
int response[MXN];
int minValue(int n, int w) {
toSend[0] = 1;
playRound(toSend, response);
for(int i = 1; i < MXN; i++) {
if(response[i] == 0) return i;
}
return 0;
}
int maxValue(int n, int w) {
vector<int> candidates;
for(int i = 0; i < MXN; i++) candidates.push_back(i);
while(candidates.size() != 1) {
int cnt = w / candidates.size();
fill(toSend, toSend + MXN, 0);
for(auto i : candidates) toSend[i] = cnt;
playRound(toSend, response);
candidates.clear();
for(int i = 0; i < MXN; i++) if(response[i] > cnt) candidates.push_back(i);
}
return candidates[0];
}
int greaterValue(int n, int w) {
int l = 0;
int r = 10;
while (l + 1 < r) {
int m = (l+r)/2;
toSend[0] = m;
toSend[1] = m;
playRound(toSend, response);
if(response[0] <= m && response[1] <= m) {
r = m;
} else if(response[0] > m && response[1] > m) {
l = m;
} else {
return response[0] < response[1];
}
}
toSend[0] = r;
toSend[1] = r;
playRound(toSend, response);
return response[0] < response[1];
}
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... |