Submission #57369

#TimeUsernameProblemLanguageResultExecution timeMemory
57369fredbrKoala Game (APIO17_koala)C++17
19 / 100
207 ms684 KiB
#include "koala.h" #include <bits/stdc++.h> using namespace std; const int maxn = 110; int d[maxn], res[maxn]; int minValue(int N, int W) { d[0] = 1; playRound(d, res); if (res[0] == 0) return 0; for (int i = 1; i < N; i++) if (res[i] == 0) return i; return 0; } int maxValue(int N, int W) { for (int i = 0; i < N; i++) d[i] = 1; playRound(d, res); memset(d, 0, sizeof(d)); for (int i = 0; i < N; i++) if (res[i] == 2) d[i] = 2; playRound(d, res); memset(d, 0, sizeof(d)); for (int i = 0; i < N; i++) if (res[i] == 3) d[i] = 4; playRound(d, res); memset(d, 0, sizeof(d)); for (int i = 0; i < N; i++) if (res[i] == 5) d[i] = 11; playRound(d, res); for (int i = 0; i < N; i++) if (res[i] == 12) return i; return 0; } void clear() { memset(d, 0, sizeof(d)); } int greaterValue(int N, int W) { d[0] = d[1] = 1; for (int j = 1; j <= 12; j++) { memset(d+2, 0, sizeof(d)-8); int sum = d[0] + d[1]; for (int i = 2; i < N; i++) if (res[i] == j or j == 1) d[i] = min(W-sum, j), sum = max(sum + d[i], W); playRound(d, res); if (res[0] > res[1]) return 0; if (res[0] < res[1]) return 1; if (res[0] == j) d[0] = d[1] = j; else d[0] = d[1] = res[0]; d[0] = max(d[0], 0); d[1] = max(d[1], 0); } // return r; return 3; } 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. } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...