Submission #1302522

#TimeUsernameProblemLanguageResultExecution timeMemory
1302522kawhietNile (IOI24_nile)C++20
23 / 100
2096 ms5048 KiB
#include <bits/stdc++.h> #include "nile.h" using namespace std; 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<array<int, 3>> to_sort; for (int i = 0; i < n; i++) { to_sort.push_back({w[i], a[i], b[i]}); } sort(to_sort.begin(), to_sort.end()); for (int i = 0; i < n; i++) { w[i] = to_sort[i][0]; a[i] = to_sort[i][1]; b[i] = to_sort[i][2]; } vector<long long> ret; for (auto d : e) { long long ans = accumulate(b.begin(), b.end(), 0LL); int sz = 1, mn = a[0] - b[0]; for (int i = 1; i < n; i++) { if (w[i] - w[i - 1] <= d) { mn = min(mn, a[i] - b[i]); sz++; } else { if (sz & 1) { ans += mn; } mn = a[i] - b[i]; sz = 1; } } if (sz & 1) { ans += mn; } ret.push_back(ans); } return ret; }
#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...