Submission #1161557

#TimeUsernameProblemLanguageResultExecution timeMemory
1161557duccnammThe Big Prize (IOI17_prize)C++20
0 / 100
1 ms420 KiB
#include<bits/stdc++.h>
#include "prize.h"
using namespace std;
#define ll int
ll a[200005],dd,d,le,ri,l,r,mid,vt,n;
vector<ll>vc,vc1;
//vector<ll>ask (int i)
//{
//    vector<ll>vcx;
//    ll ddx=0;
//    for(int j=1;j<i;j++)
//        if(a[j]<a[i])
//            ddx++;
//    vcx.push_back(ddx);
//    ddx=0;
//    for(int j=i+1;j<=n;j++)
//        if(a[j]<a[i])
//            ddx++;
//    vcx.push_back(ddx);
//    return vcx;
//
//}
int find_best(int n)
{
    dd=sqrt(n);
    dd++;
    for(int i=1;i<=dd;i++)
    {
        vc=ask(i);
        if(d<vc[0]+vc[1])
        {
            d=vc[0]+vc[1];
            le=vc[0];
            ri=vc[1];
        }
        else if(d>vc[0]+vc[1])
        {
            le++;
            ri--;
        }
    }
    while(1)
    {
        l=dd+1;
        r=n;
        vt=n+1;
        while(l<=r)
        {
            mid=(l+r)/2;
            vc1=ask(mid);
            if(vc1[0]+vc1[1]==0)
                return mid;
            if(vc1[0]+vc1[1]<d||vc1[0]>le)
            {
                vt=min(vt,mid);
                r=mid-1;
            }
            else
                l=mid+1;
        }
        if(vt==n+1)
            break;
        dd=vt;
        le++;
    }
}
//int main()
//{
//    cin>>n;
//    for(int i=1;i<=n;i++)
//        cin>>a[i];
//    cout<<find_best(n);
//}

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:66:1: warning: control reaches end of non-void function [-Wreturn-type]
   66 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...