제출 #1045231

#제출 시각아이디문제언어결과실행 시간메모리
1045231woodMeetings (IOI18_meetings)C++17
19 / 100
1848 ms786432 KiB
#include "meetings.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<long long> minimum_costs(std::vector<int> H, std::vector<int> L,
                                     std::vector<int> R) {
  int Q = L.size();
  std::vector<long long> C(Q);
	int n = H.size();
  long long sum[n][n]; memset(sum,0,sizeof sum);
  for(int i = 0; i<n; i++){
	  int mx = H[i];
	  for(int j = i; j>=0; j--){
		  mx = max(mx,H[j]);
		  if(j<i)
		  sum[i][j]= sum[i][j+1]+mx;
		  else sum[i][j] = mx;
	  }
	  mx = H[i];
	  for(int j = i+1; j<n; j++){
		  mx = max(mx,H[j]);
		  sum[i][j] = sum[i][j-1]+mx;
	  }
  }
  for (int j = 0; j < Q; ++j) {
	  long long res = LLONG_MAX;
	  for(int i = L[j]; i<R[j]; i++) res = min(res,sum[i][L[j]]+sum[i+1][R[j]]);
	  C[j] = min(res,sum[R[j]][L[j]]);
  }
  return C;
}
#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...