제출 #499836

#제출 시각아이디문제언어결과실행 시간메모리
499836reniBigger segments (IZhO19_segments)C++14
0 / 100
1 ms332 KiB
#include<iostream>
#define endl '\n'
using namespace std;
long long pref[1000000], ans[1000000], sum[1000000];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    long long n,i,j, ch, pr, br=0, maxr=1, le, ri, mid;

    cin>>n;

    for(i=1;i<=n;i++)
    {
        cin>>ch;
        pref[i]=pref[i-1]+ch;
    }
    ans[1]=1;
    sum[1]=pref[1];

    for(i=2;i<=n;i++)
    {
        le=0;ri=i-1;
        ans[i]=ans[i-1];

        while(le<=ri)
        {
            mid=(le+ri)/2;
            if(ans[mid]<ans[i] || sum[mid]<=pref[i]-pref[mid])le=mid+1;
            else ri=mid-1;
        }
        j=le-1;

            if(sum[j]<=pref[i]-pref[j])
            {
                if(ans[j]+1>ans[i])
                {
                    ans[i]=ans[j]+1;
                    sum[i]=pref[i]-pref[j];
                }
                else if(ans[j]+1==ans[i])
                {
                    ans[i]=ans[j]+1;
                    sum[i]=min(sum[i],pref[i]-pref[j]);
                }
            }
       // cout<<ans[i]<<" "<<sum[i]<<endl;

    }
    cout<<ans[n]<<endl;

}

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

segments.cpp: In function 'int main()':
segments.cpp:11:26: warning: unused variable 'pr' [-Wunused-variable]
   11 |     long long n,i,j, ch, pr, br=0, maxr=1, le, ri, mid;
      |                          ^~
segments.cpp:11:30: warning: unused variable 'br' [-Wunused-variable]
   11 |     long long n,i,j, ch, pr, br=0, maxr=1, le, ri, mid;
      |                              ^~
segments.cpp:11:36: warning: unused variable 'maxr' [-Wunused-variable]
   11 |     long long n,i,j, ch, pr, br=0, maxr=1, le, ri, mid;
      |                                    ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...