Submission #1302499

#TimeUsernameProblemLanguageResultExecution timeMemory
1302499kawhietNile (IOI24_nile)C++20
0 / 100
48 ms8616 KiB
#include <bits/stdc++.h>
#include "nile.h"
using namespace std;

constexpr long long inf = 1e18;

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 = 0;
        multiset<int> s(w.begin(), w.end());
        while (!s.empty()) {
            int x = *s.begin();
            s.erase(s.begin());
            auto it = s.upper_bound(x + d);
            if (it != s.begin()) {
                --it;
                s.erase(it);
                ans++;
            } else {
                ans += 2;
            }
        }
        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...