Submission #1256908

#TimeUsernameProblemLanguageResultExecution timeMemory
1256908nerrrminNile (IOI24_nile)C++20
13 / 100
20 ms4936 KiB
#include "nile.h" #define pb push_back #include<bits/stdc++.h> using namespace std; const int maxn = 3e5 + 10; int n, q; long long w[maxn], a[maxn], b[maxn]; std::vector<long long> calculate_costs(std::vector<int> W, std::vector<int> A, std::vector<int> B, std::vector<int> E) { n = W.size(); for (int i = 0; i < n; ++ i) w[i] = W[i]; for (int i = 0; i < n; ++ i) a[i] = A[i]; long long sum = 0; long long best = A[0] - B[0]; int passed = 0; long long realbest = A[0] - B[0]; for (int i = 0; i < n; ++ i) { b[i] = B[i]; sum += b[i]; realbest = min(realbest, a[i] - b[i]); if(passed % 2 == 0)best = min(best, a[i] - b[i]); passed ++; } q = (int)E.size(); vector < long long > res; for (auto d: E) { if(d == 1)res.pb(sum + (n % 2) * best); else res.pb(sum + (n%2) * realbest); } return res; }
#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...