제출 #1209412

#제출 시각아이디문제언어결과실행 시간메모리
1209412ezzzayCigle (COI21_cigle)C++20
0 / 100
1094 ms324 KiB
#include<bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back const int N=5005; int dp[N]; int a[N]; int fun(int l, int r){ int m=r-l+1; vector<int>ps(N); for(int i=l;i<=r;i++){ ps[i]=ps[i-1]+a[i]; } int mx=0; for(int i=l+1;i<r;i++){ int s=0; map<int,int>mp,mp2; for(int j=i;j>=l;j--){ mp[ps[i]-ps[j-1]]++; } for(int j=i+1;j<=r;j++){ s+= mp[ps[j]-ps[i]]; } mx=max(mx,s); } return mx; } signed main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ for(int j=0;j<i;j++){ dp[i]=max(dp[i],dp[j]+fun(j+1,i)); } } cout<<dp[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...