Submission #1361842

#TimeUsernameProblemLanguageResultExecution timeMemory
1361842vuhBigger segments (IZhO19_segments)C++20
13 / 100
690 ms428 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pb push_back
const int mod = 1e9 + 7;
const int sz = 1e5 + 5;
const int inf = 676767677;
void solve(){
    int n;
    cin>>n;
    vector<int> a(n);
    for(int i = 0 ;  i < n ; i ++){
        cin >> a[i];
    }
    int ans = 0;
    for(int i = 0 ; i < ( 1 << n ); i++){
        int sum = 0, previous = -1, cnt = 0;
        int x = i | (1 << (n - 1));
        for(int j = 0 ; j  <n ;j ++){
            if(x & (1 << j)){
                sum += a[j];
                if(sum < previous)
                continue;
                cnt ++;
                previous = sum;
                sum = 0;
            }
            else{
                sum += a[j];
            }
        }
        ans = max(ans, cnt);
        //cout<<"! "<< bitset<4> (x) << " " << ans << " " << cnt << endl;
    }
    cout<<ans;
}
signed main(){
    //freopen("socdist.in", "r", stdin);
    //freopen("socdist.out", "w", stdout);
    int T = 1;
    //cin >> T;
    while(T--){
        solve();
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...