#include "koala.h"
#include <bits/stdc++.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 b[N]={},r[N]={};
b[0]=1;
playRound(b,r);
if (r[0]<2) return 0;
else {
for (int i=1; i<N; i++){
if (r[i]<1) 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> rem;
for (int i=0; i<N; i++) rem.push_back(i);
while (rem.size()>1){
int b[N]={},r[N]={};
for (auto&i:rem) b[i]=W/rem.size();
playRound(b,r);
vector <int> w;
for (int i=0; i<N; i++){
if (b[i]&&r[i]>b[i]) w.push_back(i);
}
rem=w;
}
return rem[0];
}
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.
int lb=1,rb=10;
while (lb<rb){
int m=(lb+rb)>>1;
int b[N]={},r[N]={};
b[0]=b[1]=m;
playRound(b,r);
if (r[0]<=b[0]&&r[1]<=b[1]) rb=m-1;
else if (r[0]>b[0]&&r[1]>b[1]) lb=m+1;
else if (r[0]>b[0]) return 0;
else return 1;
}
int b[N]={},r[N]={};
b[0]=b[1]=lb;
playRound(b,r);
if (r[0]>b[0]) return 0;
else return 1;
}
bool cmp(int x,int y){
x--;
y--;
int b[100]={},r[100]={};
b[x]=b[y]=100;
playRound(b,r);
if (r[x]>b[x]) return 0;
else return 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.
for (int i=0; i<n; i++) P[i]=i+1;
sort(P,P+N,cmp);
} 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 'void allValues(int, int, int*)':
koala.cpp:75:25: error: 'n' was not declared in this scope
75 | for (int i=0; i<n; i++) P[i]=i+1;
| ^