This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false);cin.tie(NULL);
using namespace std;
typedef long long int lli;
typedef vector<int> vi;
typedef vector<long long int> vll;
const int mod = 1000000007;
int main(){
SPEED;
int N; cin >> N;
lli arr[N+1];
for( int i = 1; i <= N; i++ ) cin >> arr[i];
vector<lli> dp(N+2, 0);
vector<lli> prevMinimalSum(N+2, 0);
dp[1] = 1;
prevMinimalSum[1] = arr[1];
for( int i = 2; i <= N; i++ ){
lli currSum = 0;
for( int j = i; j >= 1; j-- ){
currSum += arr[j];
if( currSum >= prevMinimalSum[j-1] && dp[i] < 1 + dp[j-1] ){
dp[i] = 1 + dp[j-1];
prevMinimalSum[i] = currSum;
}
}
}
cout << dp[N] << endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |