Submission #1095841

#TimeUsernameProblemLanguageResultExecution timeMemory
1095841owoovo모임들 (IOI18_meetings)C++17
19 / 100
283 ms400672 KiB
#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 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...