Submission #1222445

#TimeUsernameProblemLanguageResultExecution timeMemory
1222445LucaIlie나일강 (IOI24_nile)C++20
0 / 100
22 ms4680 KiB
#include "nile.h" #include <bits/stdc++.h> using namespace std; struct aaa { int w, a, b; }; const int MAX_N = 1e5; long long dp[MAX_N + 1]; aaa v[MAX_N + 1]; vector<long long> calculate_costs(vector<int> w, vector<int> a, vector<int> b, vector<int> e) { int n = w.size(); int q = e.size(); vector<long long> ans(q); for (int i = 0; i < n; i++) v[i + 1] = {w[i], a[i], b[i]}; sort(v + 1, v + 1 + n, [](aaa x, aaa y) { return x.w < y.w; }); for (int j = 0; j < q; j++) { int d = e[j]; for (int i = 1; i <= n; i++) { dp[i] = dp[i - 1] + v[i].a; long long s = 0; for (int j = i - 1; j >= i - 1 && v[i].w - v[j].w <= d; j--) { dp[i] = min(dp[i], dp[j - 1] + v[i].b + v[j].b + s); s += v[j].a; } } ans[j] = 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...