Submission #550327

#TimeUsernameProblemLanguageResultExecution timeMemory
550327HanksburgerRobots (IOI13_robots)C++17
14 / 100
502 ms22288 KiB
#include "robots.h" #include <bits/stdc++.h> using namespace std; pair<int, int> toy[1000005]; priority_queue<int> pq; vector<int> vec; int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) { sort(X, X+A); sort(Y, Y+B); for (int i=0; i<T; i++) { if (W[i]>=X[A-1] && S[i]>=Y[B-1]) return -1; int ind=upper_bound(X, X+A, W[i])-X, jnd=upper_bound(Y, Y+B, S[i])-Y; toy[i]={ind, jnd}; } sort(toy, toy+T); int l=1, r=T; while (l<r) { int mid=(l+r)/2, ind=0, jnd=0, num=0; for (int i=0; i<A; i++) { while (ind<T && toy[ind].first<=i) { pq.push(toy[ind].second); ind++; } int cnt=mid; while (!pq.empty() && cnt) { pq.pop(); cnt--; } } vec.clear(); while (!pq.empty()) { vec.push_back(pq.top()); pq.pop(); } bool ok=1; for (int i=0; i<vec.size(); i++) { if (jnd==B) { ok=0; break; } if (jnd<vec[i]) { jnd=vec[i]; num=0; } num++; if (num==mid) { jnd++; num=0; } } if (ok) r=mid; else l=mid+1; } return l; }

Compilation message (stderr)

robots.cpp: In function 'int putaway(int, int, int, int*, int*, int*, int*)':
robots.cpp:44:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |   for (int i=0; i<vec.size(); i++)
      |                 ~^~~~~~~~~~~
#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...