Submission #1299302

#TimeUsernameProblemLanguageResultExecution timeMemory
1299302hanguyendanghuyHacker (BOI15_hac)C++20
0 / 100
1 ms564 KiB
#include <bits/stdc++.h> using namespace std; #define yes cout<<"YES"<<'\n' #define no cout<<"NO"<<'\n' #define si size() #define fi first #define se second #define ll long long #define sr sort #define pb push_back #define all(x) x.begin(),x.end() constexpr ll MAXN=3e5+5,INF=1e18,MOD=1e9+7; ll n,m,i,j,k,p,t,a[MAXN],pref[MAXN],val[MAXN],mapre[MAXN],masuf[MAXN]; ll tinhleft(ll i,ll lenA){ ll sum=a[i]; sum+=pref[min(n,i+lenA)]-pref[i]; lenA-=min(n,i+lenA)-i; sum+=pref[lenA]; return sum; } ll tinhright(ll i,ll lenA){ ll sum=a[i]; sum+=pref[i-1]-pref[max(1ll,i-lenA)-1]; lenA-=i-max(1ll,i-lenA); sum+=pref[n]-pref[n-lenA]; return sum; } int main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); #define name "test" if(fopen(name".inp","r")){ freopen(name".inp","r",stdin); freopen(name".out","w",stdout); } cin>>n; for(i=1;i<=n;i++){ cin>>a[i]; pref[i]=a[i]+pref[i-1]; } ll lenA=(n+1)/2,lenB=n-lenA,ans=0; lenA--; lenB--; for(i=1;i<=n;i++){ val[i]=tinhright(i,lenB); mapre[i]=max(mapre[i-1],val[i]); } for(i=n;i>=1;i--){ masuf[i]=max(masuf[i+1],val[i]); } for(i=1;i<=n;i++){ ans=max(ans,pref[n]-max(mapre[i-1],masuf[i+1])); } cout<<ans; return 0; }

Compilation message (stderr)

hac.cpp: In function 'int main()':
hac.cpp:33:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |         freopen(name".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
hac.cpp:34:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |         freopen(name".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...