This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "meetings.h"
#include<bits/stdc++.h>
#define ll long long
#define F first
#define S second
using namespace std;
ll dp[5010][5010],a[5010];
vector<ll> minimum_costs(vector<int> h, vector<int> l,vector<int> r) {
int n=h.size();
int q=l.size();
for(int i=0;i<n;i++)a[i]=h[i];
for(int i=0;i<n;i++){
dp[i][i]=a[i];
ll mx=a[i];
for(int j=i-1;j>=0;j--){
mx=max(mx,a[j]);
dp[i][j]=dp[i][j+1]+mx;
}
mx=a[i];
for(int j=i+1;j<n;j++){
mx=max(mx,a[j]);
dp[i][j]=dp[i][j-1]+mx;
}
}
vector<ll> ans;
ans.resize(q);
for(int i=0;i<q;i++){
ll mn=1e18;
for(int j=l[i];j<=r[i];j++){
mn=min(mn,dp[j][l[i]]+dp[j][r[i]]-dp[j][j]);
}
ans[i]=mn;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |