Submission #1096858

#TimeUsernameProblemLanguageResultExecution timeMemory
1096858MuhammetBigger segments (IZhO19_segments)C++17
13 / 100
1575 ms468 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
#define sz(s) (int)s.size()
#define ff first
#define ss second
#define ll long long

const int N = 1e5;
 
int n, m, a[N], b[N], ans;

vector <int> v2, v3;
 
void f(int x){
    if(x == n+1){
        long long s = 0;
        vector <int> v, v1;
        for(int i = 1; i <= n; i++){
            s += a[i];
            if(b[i] == 1){
                v.push_back(s);
                s = 0;
            }
        }
        v1 = v;
        sort(v.begin(), v.end());
        if(v == v1 and ans < sz(v)){
            ans = max(ans,sz(v));
            v2.clear();
            v3.clear();
            v3 = v;
            for(int i = 1; i <= n; i++){
                v2.push_back(b[i]);
            }
        }
        return;
    }
    for(int i = 0; i < 2; i++){
        b[x] = i;
        f(x+1);
    }
}

int main(){
    ios::sync_with_stdio (false); cin.tie(nullptr);
    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> a[i];
    }
    f(1);
    cout << ans;
    // for(auto i : v2){
    //     cout << i << ' ';
    // }
    // cout << '\n';

    // for(auto i : v3){
    //     cout << i << ' ';
    // }
}
#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...