제출 #984273

#제출 시각아이디문제언어결과실행 시간메모리
984273UnforgettableplKoala Game (APIO17_koala)C++17
77 / 100
39 ms600 KiB
#include <bits/stdc++.h> using namespace std; //#define int long long void playRound(int *B, int *R); int minValue(int N, int W) { int arr[100];fill(arr,arr+100,0); int res[100];fill(res,res+100,0); arr[0] = 1; playRound(arr,res); for(int i=0;i<N;i++)if(res[i]<=arr[i])return i; } int maxValue(int N, int W) { vector<int> poss(N);iota(poss.begin(), poss.end(),0); while(poss.size()>1){ int arr[100];fill(arr,arr+100,0); int res[100];fill(res,res+100,0); int distrib = W/poss.size(); for(int&i:poss)arr[i]=distrib; playRound(arr,res); poss.clear(); for(int i=0;i<N;i++)if(arr[i] and res[i]>arr[i])poss.emplace_back(i); } return poss[0]; } bool second_way; bool lessth(int a,int b){ if(second_way){ int arr[100]; fill(arr, arr + 100, 0); int res[100]; fill(res, res + 100, 0); arr[a] = arr[b] = 100; playRound(arr,res); return res[b] > arr[b]; } int lo = 1, hi = 13; while (true) { int mid = (lo + hi) / 2; if(mid>8){hi=mid-1;} int arr[100]; fill(arr, arr + 100, 0); int res[100]; fill(res, res + 100, 0); arr[a] = arr[b] = mid; playRound(arr, res); bool zerogud = res[a] > arr[a]; bool onegud = res[b] > arr[b]; if (zerogud == onegud) { if (zerogud) { lo = mid + 1; } else { hi = mid - 1; } continue; } return onegud; } } int greaterValue(int N, int W) { return lessth(0,1); } void allValues(int N, int W, int *P) { second_way = 2*N==W; vector<int> permutation; for(int i=0;i<N;i++){ permutation.insert(lower_bound(permutation.begin(), permutation.end(),i,lessth),i); } for(int i=0;i<N;i++){ P[permutation[i]]=i+1; } }

컴파일 시 표준 에러 (stderr) 메시지

koala.cpp: In function 'int minValue(int, int)':
koala.cpp:14:1: warning: control reaches end of non-void function [-Wreturn-type]
   14 | }
      | ^
#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...