Submission #1210295

#TimeUsernameProblemLanguageResultExecution timeMemory
1210295loiiii12358Meetings (IOI18_meetings)C++20
19 / 100
572 ms851968 KiB
#include "meetings.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long

std::vector<long long> minimum_costs(std::vector<int32_t> H, std::vector<int32_t> L,
                                     std::vector<int32_t> R) {
  int N=H.size(),Q = L.size(),tmp;
  vector<long long> C(Q);
  vector<vector<int>> dist(N,vector<int>(N)),sum(N,vector<int>(N,0));
  for(int i=0;i<N;i++){
    tmp=0;
    for(int j=i;j<N;j++){
      tmp=max(tmp,(int)H[j]);
      dist[i][j]=dist[j][i]=tmp;
    }
  }
  for(int i=0;i<N;i++){
    for(int j=i-1;j>=0;j--){
      sum[i][j]=sum[i][j+1]+dist[i][j];
    }
    for(int j=i+1;j<N;j++){
      sum[i][j]=sum[i][j-1]+dist[i][j];
    }
  }
  for(int i=0;i<Q;i++){
    tmp=1e18;
    for(int j=L[i];j<=R[i];j++){
      if(sum[j][L[i]]+sum[j][R[i]]+H[j]<tmp){
        tmp=sum[j][L[i]]+sum[j][R[i]]+H[j];
      }
    }
    C[i]=tmp;
  }
  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...