Submission #332456

#TimeUsernameProblemLanguageResultExecution timeMemory
332456dolphingarlicBigger segments (IZhO19_segments)C++14
100 / 100
92 ms12140 KiB
#include <stdio.h> const int N=6e5;long a[N],b[N];int 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:59: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    2 | const int N=6e5;long a[N],b[N];int 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:103: 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];int 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:66: 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];int 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:100: 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];int 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...