Submission #1263714

#TimeUsernameProblemLanguageResultExecution timeMemory
1263714aren_danceRobots (IOI13_robots)C++20
100 / 100
1892 ms13240 KiB
#include <iostream> #include <vector> #include <algorithm> #include <set> #include <map> #include "robots.h" using namespace std; int putaway(int a, int b, int t, int x[], int y[], int w[], int s[]) { int answ = -1; int l = 1; int r = t; vector<pair<int, int>> g; for (int i = 0;i < t;++i) { g.push_back({ s[i],w[i] }); } sort(g.rbegin(), g.rend()); while (l <= r) { int m = (l + r) / 2; map<int, int> p1; map<int, int> p2; for (int i = 0;i < a;++i) { p1[x[i]]+=m; } for (int i = 0;i < b;++i) { p2[y[i]]+=m; } bool fl = 1; for (auto i : g) { int x1 = i.second; int y1 = i.first; auto u = p1.lower_bound(x1+1); if (u != p1.end()) { u->second--; if (u->second == 0) { p1.erase(u->first); } continue; } auto v = p2.lower_bound(y1+1); if (v != p2.end()) { v->second--; if (v->second == 0) { p2.erase(v->first); } continue; } else { fl = 0; break; } } if (fl) { r = m - 1; answ = m; } else { l = m + 1; } } return answ; }
#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...