Submission #601617

#TimeUsernameProblemLanguageResultExecution timeMemory
601617HanksburgerMeetings (IOI18_meetings)C++17
19 / 100
714 ms778064 KiB
#include "meetings.h"
#include <bits/stdc++.h>
using namespace std;
long long mx[5005][5005], sum[5005][5005];
vector<long long> ans;
vector<long long> minimum_costs(vector<int> a, vector<int> l, vector<int> r)
{
    int n=a.size(), q=l.size();
    for (int i=0; i<n; i++)
    {
        mx[i][i]=sum[i][i]=a[i];
        for (int j=i+1; j<n; j++)
        {
            mx[i][j]=max(mx[i][j-1], (long long)a[j]);
            sum[i][j]=sum[i][j-1]+mx[i][j];
        }
        for (int j=i-1; j>=0; j--)
            sum[i][j]=sum[i][j+1]+mx[j][i];
    }
    for (int i=0; i<q; i++)
    {
        long long mn=1e18;
        for (int j=l[i]; j<=r[i]; j++)
            mn=min(mn, sum[j][l[i]]+sum[j][r[i]]-a[j]);
        ans.push_back(mn);
    }
    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...