Submission #163002

#TimeUsernameProblemLanguageResultExecution timeMemory
163002dolphingarlicRoller Coaster Railroad (IOI16_railroad)C++14
0 / 100
305 ms16888 KiB
#include "railroad.h"
#include <bits/stdc++.h>
#define FOR(i, x, y) for (int i = x; i < y; i++)
typedef long long ll;
using namespace std;

ll plan_roller_coaster(vector<int> s, vector<int> t) {
    int n = s.size();
    multiset<pair<int, int>> railroads;
    FOR(i, 0, n) railroads.insert({-t[i], s[i]});

    ll ans = 0;

    int strt = -(*railroads.begin()).second;
    railroads.erase(railroads.begin());
    while (railroads.size()) {
        multiset<pair<int, int>>::iterator nxt = railroads.lower_bound({strt, 0});
        if (nxt == railroads.end()) {
            nxt--;
            ans += strt - (*nxt).first;
            strt = -(*nxt).second;
            railroads.erase(nxt);
        } else {
            strt = -(*nxt).second;
            railroads.erase(nxt);
        }
    }
    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...