# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
653824 |
2022-10-28T11:06:42 Z |
blue |
Koala Game (APIO17_koala) |
C++17 |
|
56 ms |
440 KB |
#include "koala.h"
#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;
using vvi = vector<vi>;
#define sz(x) int(x.size())
int N;
vi playRound(vi BV)
{
int B[N];
int R[N];
for(int i = 0; i < N; i++)
{
B[i] = BV[i];
}
playRound(B, R);
vi RV(N);
for(int i = 0; i < N; i++)
RV[i] = R[i];
return RV;
}
int minValue(int N_, int W) {
N = N_;
vi B(N, 0);
B[0] = 1;
vi R = playRound(B);
for(int i = 0; i < N; i++)
if(R[i] == 0)
return i;
return 0;
}
int maxValue(int N_, int W) {
N = N_;
vi cand;
for(int i = 0; i < N; i++)
cand.push_back(i);
while(sz(cand) > 1)
{
int toput = W / sz(cand);
vi B(N, 0);
for(int i : cand)
B[i] = toput;
vi R = playRound(B);
vi newcand;
for(int i = 0; i < N; i++)
{
if(B[i] > 0 && R[i] > B[i])
newcand.push_back(i);
}
cand = newcand;
}
return cand[0];
}
bool cmp(int a, int b, int W)
{
int lo = 1;
int hi = 11;
while(lo != hi)
{
int mid = (lo+hi)/2;
vi B(N, 0);
B[a] = B[b] = mid;
vi R = playRound(B);
vi taken(N, 0);
for(int i = 0; i < N; i++)
if(R[i] > B[i])
taken[i] = 1;
if(taken[a] && !taken[b])
return 0;
if(taken[b] && !taken[a])
return 1;
if(taken[a])
lo = mid+1;
else
hi = mid-1;
}
}
int greaterValue(int N_, int W) {
N = N_;
// int lo = 1, hi = 30;
// while(lo != hi)
// {
// int mid = (lo+hi)/2;
// vi B(N, 0);
// B[0] = B[1] = mid;
// vi R = playRound(B);
// vi taken(N, 0);
// for(int i = 0; i < N; i++)
// if(R[i] > B[i])
// taken[i] = 1;
// if(taken[0] && !taken[1])
// return 0;
// if(taken[1] && !taken[0])
// return 1;
// if(taken[1] && taken[0])
// lo = mid+1;
// else
// hi = mid-1;
// }
// return -1;
if(cmp(0, 1, W))
return 1;
else
return 0;
}
void allValues(int N_, int W, int *P_) {
N = N_;
vi P(N);
for(int i = 0; i < N; i++)
P[i] = P_[i];
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.
}
}
Compilation message
koala.cpp: In function 'bool cmp(int, int, int)':
koala.cpp:102:1: warning: control reaches end of non-void function [-Wreturn-type]
102 | }
| ^
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
316 KB |
Output is correct |
2 |
Correct |
4 ms |
208 KB |
Output is correct |
3 |
Correct |
4 ms |
208 KB |
Output is correct |
4 |
Correct |
6 ms |
336 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
12 ms |
316 KB |
Output is correct |
2 |
Correct |
15 ms |
208 KB |
Output is correct |
3 |
Correct |
12 ms |
208 KB |
Output is correct |
4 |
Correct |
11 ms |
208 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
44 ms |
328 KB |
Output is correct |
2 |
Correct |
54 ms |
332 KB |
Output is correct |
3 |
Correct |
47 ms |
440 KB |
Output is correct |
4 |
Correct |
55 ms |
336 KB |
Output is correct |
5 |
Correct |
44 ms |
336 KB |
Output is correct |
6 |
Correct |
42 ms |
344 KB |
Output is correct |
7 |
Correct |
41 ms |
208 KB |
Output is correct |
8 |
Correct |
44 ms |
332 KB |
Output is correct |
9 |
Correct |
47 ms |
328 KB |
Output is correct |
10 |
Correct |
56 ms |
336 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 |
- |