#include "koala.h"
#include <bits/stdc++.h>
using namespace std;
const int mxn = 110;
int ask[mxn],res[mxn];
int N,W;
void play(int* a,int* b){
cerr<<"ASK:"<<endl;for(int i = 0;i<N;i++)cerr<<a[i]<<(i%10 == 9?"\n":" ");cerr<<endl;
playRound(a,b);
cerr<<"RES:"<<endl;for(int i = 0;i<N;i++)cerr<<b[i]<<(i%10 == 9?"\n":" ");cerr<<endl;
}
namespace S1{
int GO(){
memset(ask,0,sizeof(ask));
ask[0] = 1;
play(ask,res);
if(res[0] == 2){
for(int i = 1;i<N;i++)if(!res[i])return i;
assert(false);
}
else return 0;
memset(ask,0,sizeof(ask));
ask[1] = 1;
play(ask,res);
for(int i = 2;i<N;i++)if(!res[i])return i;
assert(false);
return -1;
}
}
int minValue(int NN, int WW) {
// TODO: Implement Subtask 1 solution here.
// You may leave this function unmodified if you are not attempting this
// subtask.
N = NN,W = WW;
return S1::GO();
}
namespace S2{
int GO(){
for(int i = 0;i<N;i++)ask[i] = 1;
play(ask,res);
int num = N/2;
while(num>1){
int cnt = 0;
for(int i = 0;i<N;i++)if(res[i]==1)res[i] = 0;
int val = N/num;
for(int i = 0;i<N;i++){
if(res[i])res[i] = val;
}
play(res,res);
num = 0;
for(int i = 0;i<N;i++){
num += res[i]>1;
}
}
for(int i = 0;i<N;i++)if(res[i]>=*max_element(res,res+N))return i;
assert(false);
}
}
int maxValue(int NN, int WW) {
// TODO: Implement Subtask 2 solution here.
// You may leave this function unmodified if you are not attempting this
// subtask.
N = NN,W = WW;
return S2::GO();
}
int greaterValue(int N, int 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) {
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 'int S2::GO()':
koala.cpp:50:8: warning: unused variable 'cnt' [-Wunused-variable]
50 | int cnt = 0;
| ^~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
51 ms |
484 KB |
Output is correct |
2 |
Correct |
49 ms |
484 KB |
Output is correct |
3 |
Correct |
47 ms |
492 KB |
Output is correct |
4 |
Correct |
46 ms |
472 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
193 ms |
548 KB |
Output is correct |
2 |
Correct |
217 ms |
748 KB |
Output is correct |
3 |
Correct |
182 ms |
540 KB |
Output is correct |
4 |
Correct |
180 ms |
544 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
344 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
344 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
344 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |