#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 posB[N],posR[N];
for (int i = 0;i<N - 1;++i){
posB[i] = 0;
}
posB[N - 1] = 1;
playRound(posB,posR);
if (posR[N - 1] == 2){
for (int j = 0;j<N;++j){
if (posR[j] == 0){
return j;
}
}
}
else{
for (int i = 0;i<N;++i){
posB[i] = 0;
}
posB[0] = 1;
playRound(posB,posR);
if (posR[0] == 2){
for (int j = 0;j<N;++j){
if (posR[j] == 0)return j;
}
}
return 0;
}
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.
int posB[N],posR[N];
for (int i = 0;i<N;++i){
posB[i] = 1;
}
//51 ... 100
playRound(posB,posR);
for (int i = 0;i<N;++i){
if (posR[i] == 2){
posB[i] = 2;
}
else{
posB[i] = 0;
}
}
//76...100 + 26....50
int nxposR[N];
playRound(posB,nxposR);
//lets put 2 stones each at top50 positions
//x stones will be got; uncontested
//x + 3 * y <= 100
//x = 25 is optimal so 76...100 will be picked
//75 - 25
//75 / 3 = 25
//now we know all quarter values
//x + 5 * y <= 100
//100,75...20
for (int i = 0;i<N;++i){
if (posR[i] == 2 && nxposR[i] == 3){
posB[i] = 4;
}
else{
posB[i] = 0;
}
}
int fposR[N];
//75..21 + 100 + 99 + 98 + 97 + 96 + 95 + 94 + 93 + 92
playRound(posB,fposR);
int f2posR[N];
for (int i = 0;i<N;++i){
if (posR[i] == 2 && nxposR[i] == 3 && fposR[i] == 5){
posB[i] = 11;
}
else{
posB[i] = 0;
}
}
playRound(posB,f2posR);
for (int i = 0;i<N;++i){
if (f2posR[i] == 12){
return i;
}
}
//100 92..11
return 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;
}
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.
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
208 KB |
Output is correct |
2 |
Correct |
3 ms |
320 KB |
Output is correct |
3 |
Correct |
4 ms |
208 KB |
Output is correct |
4 |
Correct |
4 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
12 ms |
208 KB |
Output is correct |
2 |
Correct |
12 ms |
208 KB |
Output is correct |
3 |
Correct |
12 ms |
208 KB |
Output is correct |
4 |
Correct |
11 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |