# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
406886 | benedict0724 | 코알라 (APIO17_koala) | C++17 | 64 ms | 304 KiB |
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 <assert.h>
int B[100], R[100], P[100];
void initialize(int N)
{
for(int i=0;i<N;i++)
{
B[i] = 0;
R[i] = 0;
}
return;
}
int minValue(int N, int W) {
initialize(N);
B[0] = 1;
playRound(B, R);
int ans = 0;
for(int i=1;i<N;i++)
{
if(R[i] == 0) ans = i;
}
return ans;
}
int maxValue(int N, int W) {
int cnt = N;
for(int i=0;i<N;i++) P[i] = true;
while(cnt > 1)
{
initialize(N);
for(int i=0;i<N;i++)
{
if(P[i]) B[i] = N/cnt;
}
playRound(B, R);
for(int i=0;i<N;i++)
{
if(R[i] <= B[i] && P[i])
{
P[i] = false;
cnt--;
}
}
}
for(int i=0;i<N;i++) if(P[i]) return i;
}
int greaterValue(int N, int W) {
int l = 1, r = 14;
while(l <= r)
{
initialize(N);
int mid = (2*l + r)/3;
B[0] = B[1] = mid;
playRound(B, R);
if(R[0] != R[1])
{
return (R[0] == 0) ? 1 : 0;
}
if(R[0] == 0) r = mid-1;
else l = mid+2;
}
}
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.
}
}
Compilation message (stderr)
# | 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... |