Submission #341143

#TimeUsernameProblemLanguageResultExecution timeMemory
341143Dilshod_ImomovBigger segments (IZhO19_segments)C++17
0 / 100
1 ms364 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 <= n; j++ ) { if ( i == 1 ) { dp[i][j] = 1; } for ( int k = j + 1; k <= n; k++ ) { if ( sum[k] - sum[j] >= sum[j] - sum[i - 1] ) { dp[j + 1][k] = max( dp[j + 1][k], dp[i][j] + 1 ); } } // cout << i << ' ' << j << ' ' << dp[i][j] << endl; } } int mx = 0; for ( int i = 1; i <= n; i++ ) { mx = max( mx, dp[i][n] ); } 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...