Submission #68982

#TimeUsernameProblemLanguageResultExecution timeMemory
68982KubalionzzaleRoller Coaster Railroad (IOI16_railroad)C++14
0 / 100
379 ms17732 KiB
#include "railroad.h" #include <iostream> #include <algorithm> #include <functional> #include <set> #include <map> int n; std::pair<int, int> a[200010]; std::map< std::pair<int, int>, int, std::greater< std::pair<int, int> > > mapa; //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.second < rhs.second; else return lhs.first < rhs.first; } 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]; mapa.insert(std::make_pair(std::make_pair(t[i], i), 0)); } mapa.insert(std::make_pair(std::make_pair(1, -1), 0)); int cnt = 1; for (auto it = mapa.begin(); it != mapa.end(); ++it) { it->second = cnt; ++cnt; } std::sort(a, a + n, compare); for (int i = 0; i < n; ++i) { auto it = mapa.lower_bound(std::make_pair(s[i], 1e9 + 5)); if (it->second <= (n - i)) return 1; } 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...