Submission #332457

#TimeUsernameProblemLanguageResultExecution timeMemory
332457dolphingarlicBigger segments (IZhO19_segments)C++14
100 / 100
94 ms16108 KiB
#include <stdio.h> const int N=6e5;long a[N],b[N],c[N],l,r,d[N],n,i;main(){scanf("%d",&n);for(i=1;i<=n;++i){scanf("%d",a+i);a[i]+=a[i-1];while(r-l&&a[i]-a[d[l+1]]>=b[d[l+1]])++l;c[i]=c[d[l]]+1;b[i]=a[i]-a[d[l]];while(b[d[r]]-b[i]>=a[i]-a[d[r]])--r;d[++r]=i;}printf("%d",c[n]);}

Compilation message (stderr)

segments.cpp:2:55: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    2 | const int N=6e5;long a[N],b[N],c[N],l,r,d[N],n,i;main(){scanf("%d",&n);for(i=1;i<=n;++i){scanf("%d",a+i);a[i]+=a[i-1];while(r-l&&a[i]-a[d[l+1]]>=b[d[l+1]])++l;c[i]=c[d[l]]+1;b[i]=a[i]-a[d[l]];while(b[d[r]]-b[i]>=a[i]-a[d[r]])--r;d[++r]=i;}printf("%d",c[n]);}
      |                                                       ^
segments.cpp: In function 'int main()':
segments.cpp:2:65: warning: format '%d' expects argument of type 'int*', but argument 2 has type 'long int*' [-Wformat=]
    2 | const int N=6e5;long a[N],b[N],c[N],l,r,d[N],n,i;main(){scanf("%d",&n);for(i=1;i<=n;++i){scanf("%d",a+i);a[i]+=a[i-1];while(r-l&&a[i]-a[d[l+1]]>=b[d[l+1]])++l;c[i]=c[d[l]]+1;b[i]=a[i]-a[d[l]];while(b[d[r]]-b[i]>=a[i]-a[d[r]])--r;d[++r]=i;}printf("%d",c[n]);}
      |                                                                ~^  ~~
      |                                                                 |  |
      |                                                                 |  long int*
      |                                                                 int*
      |                                                                %ld
segments.cpp:2:98: warning: format '%d' expects argument of type 'int*', but argument 2 has type 'long int*' [-Wformat=]
    2 | const int N=6e5;long a[N],b[N],c[N],l,r,d[N],n,i;main(){scanf("%d",&n);for(i=1;i<=n;++i){scanf("%d",a+i);a[i]+=a[i-1];while(r-l&&a[i]-a[d[l+1]]>=b[d[l+1]])++l;c[i]=c[d[l]]+1;b[i]=a[i]-a[d[l]];while(b[d[r]]-b[i]>=a[i]-a[d[r]])--r;d[++r]=i;}printf("%d",c[n]);}
      |                                                                                                 ~^  ~~~
      |                                                                                                  |   |
      |                                                                                                  |   long int*
      |                                                                                                  int*
      |                                                                                                 %ld
segments.cpp:2:249: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long int' [-Wformat=]
    2 | const int N=6e5;long a[N],b[N],c[N],l,r,d[N],n,i;main(){scanf("%d",&n);for(i=1;i<=n;++i){scanf("%d",a+i);a[i]+=a[i-1];while(r-l&&a[i]-a[d[l+1]]>=b[d[l+1]])++l;c[i]=c[d[l]]+1;b[i]=a[i]-a[d[l]];while(b[d[r]]-b[i]>=a[i]-a[d[r]])--r;d[++r]=i;}printf("%d",c[n]);}
      |                                                                                                                                                                                                                                                        ~^  ~~~~
      |                                                                                                                                                                                                                                                         |     |
      |                                                                                                                                                                                                                                                         int   long int
      |                                                                                                                                                                                                                                                        %ld
segments.cpp:2:62: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    2 | const int N=6e5;long a[N],b[N],c[N],l,r,d[N],n,i;main(){scanf("%d",&n);for(i=1;i<=n;++i){scanf("%d",a+i);a[i]+=a[i-1];while(r-l&&a[i]-a[d[l+1]]>=b[d[l+1]])++l;c[i]=c[d[l]]+1;b[i]=a[i]-a[d[l]];while(b[d[r]]-b[i]>=a[i]-a[d[r]])--r;d[++r]=i;}printf("%d",c[n]);}
      |                                                         ~~~~~^~~~~~~~~
segments.cpp:2:95: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    2 | const int N=6e5;long a[N],b[N],c[N],l,r,d[N],n,i;main(){scanf("%d",&n);for(i=1;i<=n;++i){scanf("%d",a+i);a[i]+=a[i-1];while(r-l&&a[i]-a[d[l+1]]>=b[d[l+1]])++l;c[i]=c[d[l]]+1;b[i]=a[i]-a[d[l]];while(b[d[r]]-b[i]>=a[i]-a[d[r]])--r;d[++r]=i;}printf("%d",c[n]);}
      |                                                                                          ~~~~~^~~~~~~~~~
#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...