제출 #73987

#제출 시각아이디문제언어결과실행 시간메모리
73987renatsj커다란 상품 (IOI17_prize)C++14
90 / 100
120 ms572 KiB
#include<bits/stdc++.h> #include "prize.h" using namespace std; int i,j,n,m,l,r,c,xl,xr,maz,rez,h[5][2]; vector<int> xx; int find_best(int n) { h[0][0]=-1; h[1][0]=-1; h[2][0]=-1; h[3][0]=-1; h[4][0]=-1; l=0; r=n-1; rez=0; maz=0; while (true) { //cout << l << " " << r << "\n"; while (l<r) { c=l+(r-l)/2; xx=ask(c); xl=xx[0]; xr=xx[1]; //cout << l << " " << c << " " << r << " " << maz << " " << xl << " " << xr << "\n" << h[0][0] << " " << h[1][0] << " " << h[2][0] << " " << h[3][0] << " " << h[4][0] << "\n" << h[0][1] << " " << h[1][1] << " " << h[2][1] << " " << h[3][1] << " " << h[4][1] << "\n"; if (xl+xr==0) { return c; } if (xl+xr>maz) { l=0; r=n-1; rez=0; maz=xl+xr; h[0][1]=0; h[1][1]=0; h[2][1]=0; h[3][1]=0; h[4][1]=0; } else if (xl+xr<maz) { r=c; } else if (xl>rez) //else if ((h[0][0]==xl+xr&&xl>h[0][1])||(h[1][0]==xl+xr&&xl>h[1][1])||(h[2][0]==xl+xr&&xl>h[2][1])||(h[3][0]==xl+xr&&xl>h[3][1])||(h[4][0]==xl+xr&&xl>h[4][1])) { r=c-1; } else { l=c+1; } } if (l<=n-1) { xx=ask(l); xl=xx[0]; xr=xx[1]; } if (xl+xr==0) { return l; } rez++; l++; //cout << l << " " << r << "\n"; if (l<=n-1) { xx=(ask(l)); xl=xx[0]; xr=xx[1]; if (xl+xr==0) { return l; } } while (xl+xr<maz&&l<n-1) { l++; rez++; //cout << l << " " << r << "\n"; xx=(ask(l)); xl=xx[0]; xr=xx[1]; if (xl+xr==0) { return l; } } if (xl+xr>maz) { maz=xl+xr; l=0; r=n-1; rez=0; h[0][1]=0; h[1][1]=0; h[2][1]=0; h[3][1]=0; h[4][1]=0; } r=n-1; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...