Submission #1189429

#TimeUsernameProblemLanguageResultExecution timeMemory
1189429theyeiaNile (IOI24_nile)C++20
6 / 100
24 ms7540 KiB
#include "nile.h" #include <bits/stdc++.h> using namespace std; using ll = long long; using pl = pair<ll,ll>; using vl = vector<ll>; using vi = vector<int>; const int MOD = 1e9 + 7; #define F first #define S second #define sor(x) sort(begin(x), end(x)) #define FOR(i, a, b) for (int i = a; i < b; i++) ll n, q; ll preans = 0; vector<tuple<ll,ll,ll>> Artifacts; vector<tuple<ll,ll,ll>> Raw; vector<pl> Queries; vl Ans; void find() { } void unite() { } vl calculate_costs(vi W, vi A, vi B, vi E) { ll n = W.size(), q = E.size(); Ans.resize(q, 0); FOR(i, 0, n) { ll w = W[i], a = A[i], b = B[i]; preans += b; Artifacts.push_back({w, a - b, i}); Raw.push_back({w, a, b}); } sor(Artifacts); FOR(i, 0, q) { ll e = E[i]; Queries.push_back({e, i}); } sor(Queries); FOR(i, 0, q) { ll d = Queries[i].F; ll j = Queries[i].S; ll lost = 0; if (n % 2) { lost = 1e9; FOR(i, 0, n) lost = min(lost, get<1>(Artifacts[i])); } Ans[j] = preans + lost; } 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...