#include <bits/stdc++.h>
#define rep(i,n)for(int i=0;i<(n);i++)
using namespace std;
#include "koala.h"
int B[200],R[200];
int minValue(int N, int W) {
memset(B,0,sizeof(B));
B[0]=1;
playRound(B,R);
rep(i,N){
if(B[i]>=R[i])return i;
}
return -1;
}
int maxValue(int N, int W) {
rep(i,N){
B[i]=1;
}
playRound(B,R);
vector<int>v;
rep(i,N){
if(R[i]>1){
v.push_back(i);
}
}
while(v.size()>1){
memset(B,0,sizeof(B));
int ave=W/v.size();
for(int i:v)B[i]=ave;
playRound(B,R);
vector<int>u;
for(int i:v){
if(R[i]>B[i])u.push_back(i);
}
v=u;
}
return v[0];
}
int greaterValue(int N, int W) {
int l=3,r=min(W/2,8);
while(1){
int t=(l+r)/2;
memset(B,0,sizeof(B));
B[0]=B[1]=t;
playRound(B,R);
bool f0=(B[0]<R[0]),f1=(B[1]<R[1]);
if(f0^f1){
if(f0)return 0;
return 1;
}
if(!f0)r=t-1;
else l=t+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 {
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
512 KB |
Output is correct |
2 |
Correct |
6 ms |
384 KB |
Output is correct |
3 |
Correct |
7 ms |
356 KB |
Output is correct |
4 |
Correct |
7 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
22 ms |
416 KB |
Output is correct |
2 |
Correct |
14 ms |
384 KB |
Output is correct |
3 |
Correct |
14 ms |
384 KB |
Output is correct |
4 |
Correct |
16 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
59 ms |
384 KB |
Output is correct |
2 |
Incorrect |
4 ms |
384 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
256 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
3 ms |
256 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |