Submission #173504

#TimeUsernameProblemLanguageResultExecution timeMemory
173504juggernautBigger segments (IZhO19_segments)C++14
37 / 100
1539 ms2272 KiB
//Just try and the idea will come
#include<bits/stdc++.h>
#define ll long long int
#define fr first
#define sc second
using namespace std;
ll pref[500001],i,n,j;
pair<ll,ll>dp[500001];
int main(){
    scanf("%lld",&n);
    for(i=1;i<=n;i++){
        scanf("%lld",&pref[i]);
        pref[i]+=pref[i-1];
    }
    for(i=1;i<=n;i++)
        for(j=1;j<=i;j++)
            if(pref[i]-pref[j-1]>=dp[j-1].sc)dp[i]={dp[j-1].fr+1,pref[i]-pref[j-1]};
    printf("%lld",dp[n].fr);
}

Compilation message (stderr)

segments.cpp: In function 'int main()':
segments.cpp:10:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld",&n);
     ~~~~~^~~~~~~~~~~
segments.cpp:12:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld",&pref[i]);
         ~~~~~^~~~~~~~~~~~~~~~~
#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...