제출 #467165

#제출 시각아이디문제언어결과실행 시간메모리
467165theconfusedguyBigger segments (IZhO19_segments)C++14
37 / 100
1568 ms3020 KiB
#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 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...