Submission #1214735

#TimeUsernameProblemLanguageResultExecution timeMemory
1214735GrayNile (IOI24_nile)C++20
67 / 100
2095 ms7632 KiB
#include <bits/stdc++.h> #include "nile.h" #define ll long long #define ff first #define ss second #define ln "\n" using namespace std; const ll INF=2e18; vector<long long> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E) { int q = (int)E.size(); int n = W.size(); vector<ll> res(q); for (ll i=0; i<q; i++){ vector<array<ll, 3>> a(n+1); for (ll j=1; j<=n; j++) a[j] = {W[j-1], A[j-1], B[j-1]}; sort(a.begin(), a.end()); a[0] = {0, INF, INF}; vector<ll> dp(n+1); for (ll j=1; j<=n; j++){ dp[j] = dp[j-1]+a[j][1]; if (j-2>=0 and a[j][0]-a[j-1][0]<=E[i]) dp[j] = min(dp[j], dp[j-2]+a[j][2]+a[j-1][2]); if (j-3>=0 and a[j][0]-a[j-2][0]<=E[i]) dp[j] = min(dp[j], dp[j-3]+a[j][2]+a[j-2][2]+a[j-1][1]); } res[i] = dp[n]; } return res; }
#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...