Submission #1333621

#TimeUsernameProblemLanguageResultExecution timeMemory
1333621Jawad_Akbar_JJMeetings (IOI18_meetings)C++20
19 / 100
411 ms306156 KiB
#include <iostream>
#include <vector>

using namespace std;
const int Sz = 5005;
long long Sum1[Sz][Sz], Sum2[Sz][Sz];

vector<long long> minimum_costs(vector<int> h, vector<int> L, vector<int> R){
	int n = h.size();
	for (int i=0;i<n;i++){
		int mx = 0;
		for (int j=i;j>=0;j--)
			mx = max(mx, h[j]), Sum1[j][i] = Sum1[j+1][i] + mx;
		mx = 0;
		for (int j=i;j< n;j++)
			mx = max(mx, h[j]), Sum2[i][j] = Sum2[i][max(0, j-1)] + mx;
	}


	vector<long long> Ans; 
	for (int i=0;i<L.size();i++){
		long long ans = 1e15;

		for (int j=L[i];j<=R[i];j++)
			ans = min(ans, Sum1[L[i]][j] + Sum2[j][R[i]] - h[j]);

		Ans.push_back(ans);
	}
	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...