제출 #116540

#제출 시각아이디문제언어결과실행 시간메모리
116540Runtime_error_쌀 창고 (IOI11_ricehub)C++14
100 / 100
18 ms3328 KiB

//IOI 2011 Day1 Problem 3 rice hub 
//Full solution
#include "ricehub.h" //for CMS
//#include "grader.h" //for yandex
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const ll inf=1e5+9;
ll pre[inf],a[inf],N,K;

bool check(ll len){

    for(ll i=len;i<=N;i++){
        ll r=i,l=i-len+1,mid=(l+r)/2;
        ll cost=(pre[r]-pre[mid]) -(a[mid]*(r-mid));
        cost+=(a[mid]*(mid-l))-(pre[mid-1]-pre[l-1]);
        if(cost<=K)
            return 1;
    }
    return 0;
}

int besthub(int n,int m,int x[],ll k){

    N=n;
    K=k;
    for(ll i=0;i<n;i++)
        a[i+1]=x[i];

    for(ll i=1;i<=n;i++)
        pre[i]=pre[i-1]+a[i];

    ll ans=0;

    ll l=1,r=n+1;
    while(r-l>1){
        ll mid=(l+r)/2;
        if(check(mid))
            l=mid;
        else
            r=mid;
    }
    return (int)l;
}

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

ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:35:8: warning: unused variable 'ans' [-Wunused-variable]
     ll ans=0;
        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...