Submission #376317

#TimeUsernameProblemLanguageResultExecution timeMemory
376317jamielimBigger segments (IZhO19_segments)C++14
13 / 100
110 ms492 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define mp make_pair #define pb emplace_back #define ALL(x) x.begin(),x.end() #define SZ(x) (int)x.size() typedef long long ll; typedef pair<int,int> ii; typedef pair<ii,ii> i4; typedef pair<ll,ll> pll; const int MOD=1000000007; const int INF=1012345678; const ll LLINF=1012345678012345678LL; const double PI=3.1415926536; const double EPS=1e-14; int n; ll arr[500005]; int main(){ scanf("%d",&n); for(int i=0;i<n;i++)scanf("%lld",&arr[i]); int ans=0; for(int i=0;i<(1<<(n-1));i++){ int bm=i; vector<int> v; while(bm&(-bm)){ int x=__builtin_ctz(bm); v.pb(x); bm-=(bm&(-bm)); } v.pb(n-1); int cur=0;ll sum=0,prv=0; bool poss=1; for(int j:v){ while(cur<=j){ sum+=arr[cur]; cur++; } if(sum<prv){ poss=0;break; }else{ prv=sum;sum=0; } } if(poss)ans=max(ans,SZ(v)); } printf("%d",ans); }

Compilation message (stderr)

segments.cpp: In function 'int main()':
segments.cpp:24:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   24 |  scanf("%d",&n);
      |  ~~~~~^~~~~~~~~
segments.cpp:25:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   25 |  for(int i=0;i<n;i++)scanf("%lld",&arr[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...