제출 #969672

#제출 시각아이디문제언어결과실행 시간메모리
969672CDuong코알라 (APIO17_koala)C++17
30 / 100
120 ms468 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) { for (int i = 1; i <= 8; ++i) if (i != 4) { B[0] = B[1] = i; playRound(B, R); if (R[0] > i and R[1] <= i) return 0; if (R[1] > i and R[0] <= i) return 1; } assert(false); // int l = 1, r = 9; // while (l < r) { // int mid = (l + r) >> 1; // B[0] = B[1] = mid; // playRound(B, R); // if (R[0] > mid and R[1] > mid) l = mid + 1; // else if (R[0] <= mid and R[1] <= mid) r = mid - 1; // else return (R[0] < R[1]); // } // B[0] = B[1] = l; // playRound(B, R); // return (R[0] < R[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...