제출 #101108

#제출 시각아이디문제언어결과실행 시간메모리
101108ansol4328쌀 창고 (IOI11_ricehub)C++11
100 / 100
24 ms2560 KiB
#include<stdio.h>
 
typedef long long ll;
 
int n;
ll b;
ll m[100005];
 
bool pos(int del)
{
    int cnt=n-del;
    int hcnt=cnt/2;
    ll d=0;
    for(int i=1 ; i<=cnt/2 ; i++) d+=m[cnt-i+1]-m[i];
    if(d<=b) return true;
    for(int i=1 ; i<=n-cnt ; i++)
    {
        int didx=i, aidx=i+cnt;
        d-=m[didx+hcnt]-m[didx];
        d+=m[aidx]-m[aidx-hcnt];
        if(d<=b) return true;
    }
    return false;
}
 
int besthub(int R, int L, int *X, long long B)
{
    for(int i=1 ; i<=R ; i++) m[i]=(ll)X[i-1];
    n=R, b=B;
    int st=0, fn=R, mid, res;
    while(st<=fn)
    {
        mid=(st+fn)>>1;
        if(pos(mid)) fn=mid-1, res=mid;
        else st=mid+1;
    }
    return R-res;
}

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

ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:37:14: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
     return R-res;
              ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...