제출 #347502

#제출 시각아이디문제언어결과실행 시간메모리
347502nicholask코알라 (APIO17_koala)C++14
37 / 100
82 ms620 KiB
#include "koala.h" #include <bits/stdc++.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 b[N]={},r[N]={}; b[0]=1; playRound(b,r); if (r[0]<2) return 0; else { for (int i=1; i<N; i++){ if (r[i]<1) 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> rem; for (int i=0; i<N; i++) rem.push_back(i); while (rem.size()>1){ int b[N]={},r[N]={}; for (auto&i:rem) b[i]=W/rem.size(); playRound(b,r); vector <int> w; for (int i=0; i<N; i++){ if (b[i]&&r[i]>b[i]) w.push_back(i); } rem=w; } return rem[0]; } int greaterValue(int N, int W) { // TODO: Implement Subtask 3 solution here. // You may leave this function unmodified if you are not attempting this // subtask. int lb=1,rb=10; while (lb<rb){ int m=(lb+rb)>>1; int b[N]={},r[N]={}; b[0]=b[1]=m; playRound(b,r); if (r[0]<=b[0]&&r[1]<=b[1]) rb=m-1; else if (r[0]>b[0]&&r[1]>b[1]) lb=m+1; else if (r[0]>b[0]) return 0; else return 1; } int b[N]={},r[N]={}; b[0]=b[1]=lb; playRound(b,r); if (r[0]>b[0]) return 0; else return 1; } 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...