Submission #385153

#TimeUsernameProblemLanguageResultExecution timeMemory
385153phathnvKoala Game (APIO17_koala)C++11
33 / 100
110 ms532 KiB
#include <bits/stdc++.h> #include "koala.h" using namespace std; int minValue(int N, int W) { int b[N], r[N]; memset(b, 0, sizeof(b)); b[0] = 1; playRound(b, r); for(int i = 0; i < N; i++) if (r[i] == 0) return i; return 0; } int maxValue(int N, int W) { vector<int> candidates; for(int i = 0; i < N; i++) candidates.push_back(i); while (candidates.size() > 1){ int b[N], r[N]; memset(b, 0, sizeof(b)); int c = min(12, W / (int) candidates.size()); for(int ind : candidates) b[ind] = c; playRound(b, r); vector<int> nxt; for(int i = 0; i < N; i++) if (b[i] == c && r[i] > c) nxt.push_back(i); candidates = nxt; } return candidates.front(); } int greaterValue(int N, int W) { int lo = 1, hi = 8; while (lo <= hi){ int mid = (lo + hi) >> 1; int b[N], r[N]; memset(b, 0, sizeof(b)); b[0] = b[1] = mid; playRound(b, r); if (r[0] > b[0] && r[1] <= b[1]) return 0; else if (r[0] <= b[0] && r[1] > b[1]) return 1; else if (r[0] <= b[0] && r[1] <= b[1]) hi = mid - 1; else lo = mid + 1; } 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. } }
#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...