Submission #1057700

#TimeUsernameProblemLanguageResultExecution timeMemory
1057700vjudge1Bigger segments (IZhO19_segments)C++17
37 / 100
2 ms604 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
#define pb push_back
#define pf push_front
#define fi first
#define se second
const ll mod = 1e9+7, mxn = 3007;
ll n, dp[mxn], opt[mxn], a[mxn]; // max at i
signed main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    // freopen("test.inp","r",stdin); freopen("test.out","w",stdout); freopen("test.err","w",stderr);
    cin >> n;
    for (ll i = 1; i <= n; i++)
    {
        cin >> a[i];
        a[i] += a[i-1];
    }
    for (ll i = 1; i <= n; i++)
    {
        for (ll j = i; j >= 1; j--)
        {
            ll s = a[i]-a[j-1];
            if (s >= opt[j-1])
            {
                opt[i] = s;
                dp[i] = dp[j-1]+1;
                break;
            }
        }
    }
    cout << dp[n];
}
#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...