#include <bits/stdc++.h>
#include "koala.h"
using namespace std;
int minValue(int N, int W) {
// TODO: Implement Subtask 1 solution here.
// You may leave this function unmodified if you are not attempting this
// subtask.
int A[N], B[N];
for(int i = 0; i < N; i++) {
if(i) A[i] = 0;
else A[i] = 1;
}
playRound(A, B);
for(int i = 0; i < N; i++) {
if(A[i] >= B[i]) return i;
}
return 0;
}
int maxValue(int N, int W) {
// TODO: Implement Subtask 2 solution here.
// You may leave this function unmodified if you are not attempting this
// subtask.
vector <int> can;
for(int i = 0; i < N; i++) can.emplace_back(i);
int A[N], B[N];
for(int i = 1; i <= 13; i++) {
memset(A, 0, sizeof A);
for(int j : can) {
A[j] = i;
}
playRound(A, B);
vector <int> aux;
for(int j : can) {
if(A[j] < B[j]) aux.emplace_back(j);
}
swap(can, aux);
if(can.size() == 1) return can[0];
}
return 0;
}
int cmp(int sz, int coin, int N, int W) {
// TODO: Implement Subtask 3 solution here.
// You may leave this function unmodified if you are not attempting this
// subtask.
if(N == W) return 0;
int l = 0, r = min(13, coin / 2);
int A[sz], B[sz];
while(l < r) {
int m = (l + r) >> 1;
memset(A, 0, sizeof A);
A[N] = A[W] = m;
playRound(A, B);
if(A[N] < B[N] && A[W] < B[W]) {
l = m + 1;
} else if (A[N] >= B[N] && A[W] >= B[W]) {
r = m - 1;
} else {
return B[N] < B[W];
}
}
return 0;
}
int greaterValue(int N, int W) {
return cmp(N, W, 0, 1);
}
void allValues(int N, int W, int *P) {
int A[N];
for(int i = 0; i < N; i++) {
A[i] = i;
}
sort(A, A + N, [&] (int i, int j) { return cmp(N, W, i, j); });
for(int i = 0; i < N; i++) {
P[A[i]] = i + 1;
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
10 ms |
384 KB |
Output is correct |
2 |
Correct |
9 ms |
384 KB |
Output is correct |
3 |
Correct |
10 ms |
384 KB |
Output is correct |
4 |
Correct |
9 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
38 ms |
384 KB |
Output is partially correct |
2 |
Partially correct |
38 ms |
384 KB |
Output is partially correct |
3 |
Partially correct |
38 ms |
384 KB |
Output is partially correct |
4 |
Partially correct |
37 ms |
384 KB |
Output is partially correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
71 ms |
384 KB |
Output is correct |
2 |
Incorrect |
17 ms |
384 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
63 ms |
504 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
41 ms |
384 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |