Submission #1231098

#TimeUsernameProblemLanguageResultExecution timeMemory
1231098banganNile (IOI24_nile)C++20
17 / 100
2094 ms4072 KiB
#include "nile.h" #include <bits/stdc++.h> using namespace std; #define ll long long 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(); int Q = E.size(); vector<int> ord(N); iota(ord.begin(), ord.end(), 0); sort(ord.begin(), ord.end(), [&](int i, int j) { return W[i]<W[j]; }); vector<ll> ret; for (int d : E) { ll add = 0; for (int i=0; i<N;) { int j = i+1; while (j<N && W[ord[j]] - W[ord[j-1]] <= d) j++; ll sum = 0; for (int k=i; k<j; k++) sum += B[ord[k]]; ll ans = LLONG_MAX; if ((j-i) % 2 == 0) ans = sum; else for (int k=i; k<j; k+=2) ans = min(ans, sum - B[ord[k]] + A[ord[k]]); i=j; add += ans; } ret.push_back(add); } 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...