Submission #81055

#TimeUsernameProblemLanguageResultExecution timeMemory
81055faustaadp커다란 상품 (IOI17_prize)C++17
99.72 / 100
151 ms6588 KiB
#include "prize.h"
#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
int L,R,j,b[202020],C,nx,ma;
vector<int> d[202020];
int find_best(int n) {
    vector<pair<int,vector<int> > > v;
	for(int i = 0; i < n; i++)
    {
        L=i+1;
        R=n-1;
        vector<int> res;
        if(b[i]==1)res=d[i];
        else res=ask(i);
        d[i]=res;
        ma=max(ma,res[0]+res[1]);
        if(res[0] + res[1] == 0)return i;
        if(res[0]+res[1]<ma)continue;
        for(j=0;j<v.size();j++)
            if(v[j].se==res)
                L=v[j].fi+1;
        for(j=0;j<v.size();j++)
            if(v[j].se!=res&&v[j].fi>i)
            {
                R=v[j].fi-1;
                break;
            }
        nx=L;
        while(L<=R)
        {
            C=(L+R)/2;
            vector<int> temp=ask(C);
            v.pb(mp(C,temp));
            b[C]=1;
            d[C]=temp;
            ma=max(ma,temp[0]+temp[1]);
            if(temp==res)
            {
                nx=C;
                L=C+1;
            }
            else
                R=C-1;
        }
        sort(v.begin(),v.end());
        i=nx-1;
	}
	return 0;
}

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:24:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(j=0;j<v.size();j++)
                 ~^~~~~~~~~
prize.cpp:27:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(j=0;j<v.size();j++)
                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...