제출 #1075563

#제출 시각아이디문제언어결과실행 시간메모리
1075563Abito커다란 상품 (IOI17_prize)C++17
0 / 100
54 ms712 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; const int N=2e5+5; int ans[N][2],S; int find_best(int n) { int s=0,mx=0; for (int i=0;i<min(500,n);i++){ vector<int> v=ask(i); ans[i][0]=v[0]; ans[i][1]=v[1]; if (v[0]+v[1]==0) return i; if (v[0]+v[1]>mx){ mx=v[0]+v[1]; s=i; } } S=mx; //cout<<s<<endl; for (int i=s;i+S<n;i+=S){ vector<int> v=ask(i+S); ans[i+S][0]=v[0]; ans[i+S][1]=v[1]; if (v[0]+v[1]==0) return i+S; if (v[0]==ans[i][0] && v[1]==ans[i][1]) continue; for (int j=i+1;j<i+S;j++){ v=ask(j); ans[j][0]=v[0]; ans[j][1]=v[1]; if (v[0]+v[1]==0) return j; } } for (int i=max(0,n-S);i<n;i++){ vector<int> v=ask(i); ans[i][0]=v[0]; ans[i][1]=v[1]; if (v[0]+v[1]==0) return i; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...