제출 #333875

#제출 시각아이디문제언어결과실행 시간메모리
333875nicholask모임들 (IOI18_meetings)C++14
19 / 100
640 ms786436 KiB
#include "meetings.h"
#include <bits/stdc++.h>
using namespace std;
vector <long long> minimum_costs(vector <int> h,vector <int> l,vector <int> r){
	int n=h.size(),q=l.size();
	vector <long long> res(q);
	long long dist[n][n];
	for (int i=0; i<n; i++){
		int ma=0;
		for (int j=i; j>=0; j--){
			ma=max(ma,h[j]);
			dist[i][j]=ma;
		}
		ma=0;
		for (int j=i; j<n; j++){
			ma=max(ma,h[j]);
			dist[i][j]=ma;
		}
	}
	long long c[n][n];
	for (int i=0; i<n; i++){
		c[i][0]=dist[i][0];
		for (int j=1; j<n; j++) c[i][j]=c[i][j-1]+dist[i][j];
	}
	for (int i=0; i<q; i++){
		long long ans=4e18;
		if (!l[i]){
			for (int j=l[i]; j<=r[i]; j++) ans=min(ans,c[j][r[i]]);
		} else {
			for (int j=l[i]; j<=r[i]; j++) ans=min(ans,c[j][r[i]]-c[j][l[i]-1]);
		}
		res[i]=ans;
	}
	return res;
}
#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...