답안 #707164

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
707164 2023-03-08T14:30:22 Z emptypringlescan Cigle (COI21_cigle) C++17
0 / 100
9 ms 2596 KB
#include <bits/stdc++.h>
using namespace std;
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n;
	cin >> n;
	long long arr[n],dp[n][n];
	for(int i=0; i<n; i++) cin >> arr[i];
	memset(dp,0,sizeof(dp));
	long long ans=0;
	for(int i=1; i<n; i++){
		long long pref[n];
		pref[0]=dp[0][i-1];
		for(int j=1; j<i; j++) pref[j]=max(pref[j-1],dp[j][i-1]);
		int c=i-1,be=0;
		long long len=0,len2=0;
		for(int j=i; j<n; j++){
			len+=arr[j];
			while(len2<len&&c>=0){
				len2+=arr[c];
				c--;
			}
			if(c>0) dp[i][j]=pref[c-1]+be;
			if(len2==len) be++;
		}
		long long best=0;
		len=0; len2=0; c=i-1; be=0;
		for(int j=i; j<n; j++){
			len+=arr[j];
			while(len2<len&&c>=0){
				len2+=arr[c];
				best=max(best,dp[c][i-1]+be);
				c--;
			}
			if(len==len2) be++;
			dp[i][j]=max(dp[i][j],best);
			ans=max(ans,dp[i][j]);
		}
	}
	for(int i=0; i<n; i++){
		for(int j=i; j<n; j++) cout << dp[i][j] << ' ';
		cout << '\n';
	}
	cout << ans;
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 9 ms 2596 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -