Submission #69066

#TimeUsernameProblemLanguageResultExecution timeMemory
69066KubalionzzaleRoller Coaster Railroad (IOI16_railroad)C++14
30 / 100
542 ms80500 KiB
#include "railroad.h" #include <iostream> #include <algorithm> #include <functional> #include <set> #include <map> int n; std::pair<int, int> a[200010]; std::multiset< int, std::greater<int> > set; //first - output speed, second - index bool compare(const std::pair<int, int> &lhs, const std::pair<int, int> &rhs) { if (lhs.first != rhs.first) return lhs.first < rhs.first; else return lhs.second < rhs.second; } long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) { n = (int) s.size(); for (int i = 0; i < n; ++i) { a[i].first = s[i]; a[i].second = t[i]; set.insert(a[i].second); } set.insert(1); std::sort(a, a + n, compare); for (int i = 0; i < n; ++i) { bool flag = false; if (set.find(a[i].second) != set.end()) flag = true; if (flag) set.erase(set.find(a[i].second)); auto it = set.lower_bound(a[i].first); if (it == set.end()) return 1; set.erase(it); if (flag) set.insert(a[i].second); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...