Submission #640291

#TimeUsernameProblemLanguageResultExecution timeMemory
640291sumit_kk10Discharging (NOI20_discharging)C++17
0 / 100
1062 ms18520 KiB
#include<bits/stdc++.h> #define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL) #define pb push_back #define F first #define S second #define int long long using namespace std; const int N = 1e6 + 5, MOD = 1e9 + 7; int n, a[N], dp[N], p[N]; void solve(){ cin >> n; for(int i = 1; i <= n; ++i) cin >> a[i]; for(int i = 1; i <= n; ++i){ int mx = 0; dp[i] = LLONG_MAX; for(int j = i; j >= 1; --j){ mx = max(mx, a[j]); if(dp[j - 1] + ((p[j - 1] + mx) * (i - j + 1)) < dp[i]){ dp[i] = dp[j - 1] + (p[j - 1] + mx) * (i - j + 1); p[i] = mx; } } } cout << dp[n] << "\n"; } int32_t main(){ fast; int t = 1; // cin >> t; while(t--) solve(); 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...
#Verdict Execution timeMemoryGrader output
Fetching results...