Submission #255238

#TimeUsernameProblemLanguageResultExecution timeMemory
255238Osama_AlkhodairyKoala Game (APIO17_koala)C++17
48 / 100
91 ms512 KiB
#include <bits/stdc++.h> #include "koala.h" //~ #include "grader.cpp" using namespace std; int n; bool cmp(int i, int j){ int B[n], R[n]; for(int i = 0 ; i < n ; i++){ B[i] = R[i] = 0; } int l = 1, r = 9; while(l <= r){ int mid = (l + r) / 2; B[i] = B[j] = mid; playRound(B, R); if((R[i] > B[i]) == (R[j] > B[j])){ if(R[i] > B[j]) l = mid + 1; else r = mid - 1; } else return R[j] > B[j]; } assert(false); } int minValue(int N, int W) { n = N; int B[n], R[n]; for(int i = 0 ; i < n ; i++){ B[i] = R[i] = 0; } B[0]++; playRound(B, R); for(int i = 0 ; i < n ; i++){ if(B[i] >= R[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. return 0; } int greaterValue(int N, int W) { n = N; if(cmp(0, 1)) return 1; return 0; } void allValues(int N, int W, int *P) { n = N; if (W == 2*N) { // TODO: Implement Subtask 4 solution here. // You may leave this block unmodified if you are not attempting this // subtask. } else { vector <int> all; for(int i = 0 ; i < n ; i++){ all.push_back(i); } stable_sort(all.begin(), all.end(), cmp); for(int i = 0 ; i < n ; i++){ P[all[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...