Submission #1187295

#TimeUsernameProblemLanguageResultExecution timeMemory
1187295nikdNile (IOI24_nile)C++20
23 / 100
2094 ms6468 KiB
#include <bits/stdc++.h> using ll = long long; using namespace std; struct el{ ll w, a, b; }; 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(); vector<el> v(n); for(int i = 0; i<n; i++) v[i] = el{W[i], A[i], B[i]}; sort(v.begin(), v.end(), [](el a, el b){return a.w<b.w;}); vector<ll> sol(E.size(), 0); for(int j = 0; j<E.size(); j++){ int d = E[j]; int curr_l = 0; ll curr_mn = LLONG_MAX; ll sm = 0; for(int i= 0; i<n; i++){ curr_l++; curr_mn = min(curr_mn, v[i].a-v[i].b); sm += v[i].b; if(i == n-1 || v[i+1].w-v[i].w > d){ if(curr_l&1) sol[j] += sm+curr_mn; else sol[j] += sm; sm = 0; curr_l = 0; curr_mn = LLONG_MAX; } } } return sol; }
#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...