Submission #1189865

#TimeUsernameProblemLanguageResultExecution timeMemory
1189865SalihSahinNile (IOI24_nile)C++20
67 / 100
2096 ms7240 KiB
#include "bits/stdc++.h" #include "nile.h" #define pb push_back using namespace std; #define ll long long const ll inf = 1e17; vector<long long> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E) { int n = W.size(); vector<array<ll, 3> > art(n); for(int i = 0; i < n; i++){ art[i] = {W[i], A[i], B[i]}; } sort(art.begin(), art.end()); int q = E.size(); vector<ll> ans(q); for(int qt = 0; qt < q; qt++){ int d = E[qt]; vector<ll> dp(n+1, inf); dp[0] = 0; for(int i = 0; i < n; i++){ dp[i+1] = min(dp[i+1], dp[i] + art[i][1]); if(i > 0 && art[i][0] - art[i-1][0] <= d) dp[i+1] = min(dp[i+1], dp[i-1] + art[i-1][2] + art[i][2]); if(i > 1 && art[i][0] - art[i-2][0] <= d) dp[i+1] = min(dp[i+1], dp[i-2] + art[i-2][2] + art[i-1][1] + art[i][2]); } ans[qt] = 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...