Submission #497426

#TimeUsernameProblemLanguageResultExecution timeMemory
497426NalrimetBigger segments (IZhO19_segments)C++17
13 / 100
1557 ms12068 KiB
#include <bits/stdc++.h>

#pragma GCC optimization("g", on)
#pragma GCC optimize ("inline")
#pragma GCC optimization("03")
#pragma GCC optimization("unroll-loops")
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")

#define ll long long
#define pb push_back
#define F first
#define S second

using namespace std;

const int N = 5 * 1e5 + 5;
const int inf = 1e9 + 7;

long long a[N], pref[N], dp[N], mn[N], sum[N];
vector<int> v[N];
int n, cur, ans;

void rec(int pos){
    if(pos > n){
        ans = max(ans, cur);
        return;
    }
    sum[cur] += a[pos];
    rec(pos + 1);
    if(sum[cur] >= sum[cur - 1]){
        cur++;
        rec(pos + 1);
        cur--;
    }
    sum[cur] -= a[pos];
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

	cin >> n;

	for(int i = 1; i <= n; ++i){
        cin >> a[i];
	}

	rec(1);

	cout << ans;

	return 0;
}

Compilation message (stderr)

segments.cpp:3: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    3 | #pragma GCC optimization("g", on)
      | 
segments.cpp:5: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    5 | #pragma GCC optimization("03")
      | 
segments.cpp:6: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    6 | #pragma GCC optimization("unroll-loops")
      | 
segments.cpp:7: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
    7 | #pragma comment(linker, "/stack:200000000")
      |
#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...