#include "koala.h"
#include<bits/stdc++.h>
#define vi vector<int>
#define pb push_back
using namespace std;
int minValue(int n, int W) { //N=W
int* A = new int[n];
int* B = new int[n];
for (int i=0;i<n;i++) A[i]=1;
playRound(A,B);
playRound(A,B);
playRound(A,B);
vi grandes;
for (int i=0;i<n;i++) if (B[i]==2) grandes.pb(i);
for (int i=0;i<n;i++) A[i]=0;
A[grandes[0]]=2;
A[grandes[1]]=n-2;
playRound(A,B);
for (int i=0;i<n;i++) if (i!=grandes[1] && B[i]==0) return i;
}
int maxValue(int n, int W) {
int* A = new int[n];
int* B = new int[n];
vi isgrande(n,1);
int grandes = n;
while (grandes>1){
int c=n%grandes;
for (int i=0;i<n;i++){
if (isgrande[i]) A[i]=n/grandes;
else if (c){
A[i]=1;
c--;
}
else A[i]=0;
}
playRound(A,B);
for (int i=0;i<n;i++) if (isgrande[i] && A[i]>=B[i]){
grandes--;
isgrande[i]=0;
}
}
for (int i=0;i<n;i++) if (isgrande[i]) return i;
assert(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.
return 0;
}
bool cmp(int a, int b){
if (a==b) return 0;
int* A = new int[100];
int* B = new int[100];
for (int i=0;i<100;i++) A[i]=0;
A[a]=A[b]=100;
playRound(A,B);
// cerr << "q: ";
// for (int i=0;i<100;i++) cerr << A[i] << ' ';
// cerr << endl;
// for (int i=0;i<100;i++) cerr << B[i] << ' ';
// cerr << endl;
return B[a]<=100;
}
void allValues(int n, int W, int *P) {
if (W == 2*n) {
vi v(n);
for (int i=0;i<n;i++) v[i]=i;
sort(v.begin(),v.end(),cmp);
for (int i=0;i<n;i++) P[v[i]]=i+1;
return;
} 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 minValue(int, int)':
koala.cpp:18:8: warning: control reaches end of non-void function [-Wreturn-type]
18 | vi grandes;
| ^~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
344 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
8 ms |
344 KB |
Output is correct |
2 |
Correct |
8 ms |
484 KB |
Output is correct |
3 |
Correct |
8 ms |
508 KB |
Output is correct |
4 |
Correct |
8 ms |
344 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 |
Correct |
26 ms |
848 KB |
Output is correct |
2 |
Incorrect |
28 ms |
856 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
344 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |