Submission #1140458

#TimeUsernameProblemLanguageResultExecution timeMemory
1140458LuvidiNile (IOI24_nile)C++20
17 / 100
2096 ms5904 KiB
#include "nile.h"
#include <bits/stdc++.h>
using namespace std;

std::vector<long long> calculate_costs(std::vector<int> W, std::vector<int> A,
                                       std::vector<int> B, std::vector<int> E) {
    int n=W.size();
    pair<int,pair<long long,long long>> a[n+1];
    for(int i=1;i<=n;i++)a[i]={W[i-1],{A[i-1],B[i-1]}};
    sort(a+1,a+n+1);
    vector<long long> ans;
    for(int d:E){
        long long dp[n+1];
        dp[0]=0;
        for(int i=1;i<=n;i++){
            dp[i]=dp[i-1]+a[i].second.first;
            long long s=0;
            for(int j=i-1;j;j--)if(a[i].first-a[j].first<=d){
                if(j+1<i)s+=a[j+1].second.first;
                dp[i]=min(dp[i],dp[j-1]+a[i].second.second+a[j].second.second+s);
            }
        }
        ans.push_back(dp[n]);
    }
    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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...