#include "koala.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 105;
bool pres[MAXN];
int n, w;
vector<int> query(vector<int> &inp) {
int *a = new int[n];
int *b = new int[n];
for (int i = 0; i < n; i++) a[i] = inp[i];
playRound(a, b);
vector<int> out;
for (int i = 0; i < n; i++) {
if (b[i] > inp[i]) out.push_back(i);
}
delete[] a;
delete[] b;
return out;
}
vector<int> complement(vector<int> inp) {
fill(pres, pres+n, 0);
for (int v: inp) pres[v] = 1;
vector<int> out;
for (int i = 0; i < n; i++)
if (!pres[i]) out.push_back(i);
return out;
}
vector<int> inter(vector<int> a, vector<int> &b) {
fill(pres, pres+n, 0);
for (int v: a) pres[v] = 1;
vector<int> out;
for (int v: b)
if (pres[v]) out.push_back(v);
return out;
}
int minValue(int N, int W) {
n = N; w = W;
vector<int> vals(n, 0);
vals[0] = 1;
return complement(query(vals))[0];
}
int maxValue(int N, int W) {
n = N; w = W;
vector<int> cur(n, 0);
iota(cur.begin(), cur.end(), 0);
while (cur.size() > 1) {
int put = n/cur.size();
vector<int> qry(n, 0);
for (int v: cur) qry[v] = put;
cur = inter(query(qry), cur);
}
return cur[0];
}
int greaterValue(int N, int W) {
n = N; w = 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) {
n = N; w = W;
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 |
1 |
Correct |
3 ms |
208 KB |
Output is correct |
2 |
Correct |
3 ms |
208 KB |
Output is correct |
3 |
Correct |
4 ms |
208 KB |
Output is correct |
4 |
Correct |
3 ms |
320 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
208 KB |
Output is correct |
2 |
Correct |
11 ms |
208 KB |
Output is correct |
3 |
Correct |
10 ms |
208 KB |
Output is correct |
4 |
Correct |
12 ms |
208 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |