Submission #969656

#TimeUsernameProblemLanguageResultExecution timeMemory
969656CDuongKoala Game (APIO17_koala)C++17
39 / 100
64 ms720 KiB
#include "koala.h" #include<bits/stdc++.h> using namespace std; int B[105], R[105]; 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. return 0; } int maxValue(int N, int W) { vector<int> vec = {1, 2, 4, 11}; vector<int> good(N); iota(good.begin(), good.end(), 0); for(auto v: vec){ fill(B, B + N, 0); for(auto id: good)B[id] = v; playRound(B, R); good.clear(); for(int i = 0; i < N; i++)if(R[i] > v)good.push_back(i); } return good.back(); } int greaterValue(int N, int W) { int l = 1, r = 8; while (l < r) { int mid = (l + r) >> 1; B[0] = B[1] = mid; playRound(B, R); if (R[0] > mid and R[1] <= mid) return 0; if (R[1] > mid and R[0] <= mid) return 1; if (R[0] > mid && R[1] > mid) l = mid + 1; else r = mid - 1; } B[0] = B[1] = l; playRound(B, R); if (R[0] > l and R[1] <= l) return 0; if (R[1] > l and R[0] <= l) return 1; assert(0); return 0; } int n; bool cmp_subtask_4(int a, int b){ fill(B, B + n, 0); B[a] = B[b] = n; playRound(B, R); return R[a] < R[b]; } void allValues(int N, int W, int *P) { n = N; if (W == 2 * N) { vector<int> vec(N); iota(vec.begin(), vec.end(), 0); stable_sort(vec.begin(), vec.end(), cmp_subtask_4); for (int i = 0; i < N; i++) P[vec[i]] = i + 1; } 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...