Submission #340893

#TimeUsernameProblemLanguageResultExecution timeMemory
340893Dilshod_ImomovBigger segments (IZhO19_segments)C++17
0 / 100
1 ms492 KiB
# include <bits/stdc++.h> # define speed ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) # define int long long # define fi first # define se second using namespace std; const int N = 5e3 + 7; const int mod = 1e9 + 7; int a[N], sum[N], dp[N][N]; int32_t main() { speed; int n; cin >> n; for ( int i = 1; i <= n; i++ ) { cin >> a[i]; sum[i] = sum[i - 1] + a[i]; } for ( int i = 1; i <= n; i++ ) { for ( int j = i; j > 0; j-- ) { if ( j == 1 ) { dp[i][j] = 1; } for ( int k = j - 1; k > 0; k-- ) { int sm = sum[j - 1] - sum[k - 1]; if ( sum[i] - sum[j - 1] >= sm ) { dp[i][j] = max( dp[i][j], dp[j - 1][k] + 1 ); } } // cout << i << ' ' << j << ' ' << dp[i][j] << endl; } } int mx = 0; for ( int i = 1; i <= n; i++ ) { mx = max( mx, dp[n][i] ); } cout << mx; }
#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...