Submission #1140459

#TimeUsernameProblemLanguageResultExecution timeMemory
1140459LuvidiNile (IOI24_nile)C++20
67 / 100
2096 ms6740 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>i-3;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...