Submission #405959

#TimeUsernameProblemLanguageResultExecution timeMemory
405959urd05Meetings (IOI18_meetings)C++14
19 / 100
858 ms596372 KiB
#include "meetings.h"
using namespace std;

int cost[5000][5000];
long long psum[5000][5001];


vector<long long> minimum_costs(vector<int> h,vector<int> l,vector<int> r) {
    int q=l.size();
    int n=h.size();
    for(int i=0;i<n;i++) {
        cost[i][i]=h[i];
        for(int j=i-1;j>=0;j--) {
            cost[i][j]=max(cost[i][j+1],h[j]);
        }
        for(int j=i+1;j<n;j++) {
            cost[i][j]=max(cost[i][j-1],h[j]);
        }
        for(int j=0;j<n;j++) {
            psum[i][j+1]=psum[i][j]+cost[i][j];
        }
    }
    vector<long long> ret;
    for(int i=0;i<q;i++) {
        long long mn=1e18;
        for(int j=0;j<n;j++) {
            mn=min(mn,psum[j][r[i]+1]-psum[j][l[i]]);
        }
        ret.push_back(mn);
    }
    return ret;
}
#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...