제출 #288252

#제출 시각아이디문제언어결과실행 시간메모리
288252someone_aaDischarging (NOI20_discharging)C++17
13 / 100
6 ms416 KiB
#include <bits/stdc++.h> #define ll long long #define pb push_back #define mp make_pair #define sz(x) int(x.size()) using namespace std; const int maxn = 1510; ll n, arr[maxn], dp[maxn]; int main() { cin>>n; dp[0] = 0; for(int i=1;i<=n;i++) { cin>>arr[i]; ll maxval = 0LL; dp[i] = LLONG_MAX; int lst_j = i; for(int j=i;j>=1 && arr[j] <= arr[i];j--) { maxval = max(maxval, arr[j]); dp[i] = min(dp[i], dp[j-1] + (n - j + 1) * maxval); lst_j = j; } lst_j--; if(lst_j >= 1) { dp[i] = min(dp[i], dp[lst_j - 1] + (n - lst_j + 1) * arr[lst_j]); } } cout<<dp[n]<<"\n"; 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...