Submission #830485

#TimeUsernameProblemLanguageResultExecution timeMemory
83048579brueMeetings (IOI18_meetings)C++17
4 / 100
5554 ms1876 KiB
#include "meetings.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
const int MX = 100002;

int n, q;
ll arr[MX];
int ql[MX], qr[MX];
ll ans[MX];
int MXL[MX], MXR[MX];

void solve();

vector<ll> minimum_costs(vector<int> H, vector<int> L, vector<int> R){
    n = (int)H.size();
    for(int i=1; i<=n; i++) arr[i] = H[i-1];
    q = (int)L.size();
    for(int i=1; i<=q; i++) ql[i] = L[i-1]+1, qr[i] = R[i-1]+1, ans[i] = LLONG_MAX;

    for(int c=1; c<=q; c++){
    	int L = ql[c], R = qr[c];
    	ans[c] = LLONG_MAX;
    	for(int i=L; i<=R; i++){
    		ll sum = arr[i];
    		ll tmp = arr[i];
    		for(int j=i-1; j>=L; j--) tmp = max(tmp, arr[j]), sum += tmp;
    		tmp = arr[i];
    		for(int j=i+1; j<=R; j++) tmp = max(tmp, arr[j]), sum += tmp;
    		ans[c] = min(ans[c], sum);
    	}
    }

    vector<ll> ret;
    for(int i=1; i<=q; i++) ret.push_back(ans[i]);
    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...