Submission #224388

#TimeUsernameProblemLanguageResultExecution timeMemory
224388BruteforcemanKoala Game (APIO17_koala)C++11
52 / 100
80 ms512 KiB
#include <bits/stdc++.h> #include "koala.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 A[N], B[N]; for(int i = 0; i < N; i++) { if(i) A[i] = 0; else A[i] = 1; } playRound(A, B); for(int i = 0; i < N; i++) { if(A[i] >= B[i]) 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> can; for(int i = 0; i < N; i++) can.emplace_back(i); int A[N], B[N]; for(int i = 1; i <= 13; i++) { memset(A, 0, sizeof A); for(int j : can) { A[j] = i; } playRound(A, B); vector <int> aux; for(int j : can) { if(A[j] < B[j]) aux.emplace_back(j); } swap(can, aux); if(can.size() == 1) return can[0]; } return 0; } int cmp(int sz, int coin, int N, int W) { // TODO: Implement Subtask 3 solution here. // You may leave this function unmodified if you are not attempting this // subtask. if(N == W) return 0; int l = 0, r = 13; int A[sz], B[sz]; while(l < r) { int m = (l + r) >> 1; memset(A, 0, sizeof A); A[N] = A[W] = m; playRound(A, B); if(A[N] < B[N] && A[W] < B[W]) { l = m + 1; } else if (A[N] >= B[N] && A[W] >= B[W]) { r = m; } else { return B[N] < B[W]; } } return 0; } int greaterValue(int N, int W) { return cmp(N, W, 0, 1); } void allValues(int N, int W, int *P) { int A[N]; for(int i = 0; i < N; i++) { A[i] = i; } sort(A, A + N, [&] (int i, int j) { return cmp(N, W, i, j); }); for(int i = 0; i < N; i++) { P[A[i]] = i + 1; } }
#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...