Submission #1349934

#TimeUsernameProblemLanguageResultExecution timeMemory
1349934tamir1Bigger segments (IZhO19_segments)C++20
13 / 100
19 ms428 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main() {

    int n;
    cin >> n;

    vector<int> a(n);
    for(int i = 0; i < n; i++) cin >> a[i];
    int mx = 0;
    for(int i = 0; i < (1 << n); i++) {
        bool unen = 1;
        int cnt = 0;
        int sum = 0, prv = 0, set = ~i & 1;
        for(int j = 0; j < n; j++) {
            if(i & (1 << j)) {
                if(!set) {
                    if(sum < prv) {
                        unen = 0;
                        break;
                    }
                    cnt++;
                    prv = sum;
                    sum = a[j];
                    set = !set;
                } else {
                    sum += a[j];
                }
            } else {
                if(!set) {
                    sum += a[j];
                } else {
                    if(sum < prv) {
                        unen = 0;
                        break;
                    }
                    cnt++;
                    prv = sum;
                    sum = a[j];
                    set = !set;
                }
            }
        }
        if(unen && sum >= prv) mx = max(mx, cnt);
        // cout << cnt << " ";
    }
    cout << mx << "\n";
    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...