제출 #638104

#제출 시각아이디문제언어결과실행 시간메모리
638104beaconmc로봇 (IOI13_robots)C++14
0 / 100
1 ms212 KiB
#include "robots.h" #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> typedef long long ll; using namespace std; using namespace __gnu_pbds; #define FOR(i, x, y) for(ll i=x; i<y; i++) #define FORNEG(i, x, y) for(ll i=x; i>y; i--) #define ordered_set tree<ll, null_type,less_equal<ll>, rb_tree_tag,tree_order_statistics_node_update> #define fast() ios_base::sync_with_stdio(false);cin.tie(NULL) 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(i,0,T){ W[i]++; S[i]++; } FOR(i,0,T){ if (W[i] > X[A-1] && S[i] > Y[B-1]){ return -1; } } FOR(i,0,T){ W[i] = lower_bound(X,X+A, W[i])-X; } vector<pair<ll,ll>> realsus; FOR(i,0,T){ realsus.push_back(make_pair(W[i],-S[i])); } sort(realsus.begin(), realsus.end()); reverse(realsus.begin(),realsus.end()); const auto check = [&](int k) -> bool{ priority_queue<pair<ll,ll>, vector<pair<ll,ll>>, greater_equal<pair<ll,ll>>> sus; priority_queue<ll, vector<ll>, greater_equal<ll>> sus2; FOR(i,0,A){ while (realsus.size() && realsus[realsus.size()-1].first <= i){ sus.push(make_pair(realsus[realsus.size()-1].second, realsus[realsus.size()-1].second)); realsus.pop_back(); } ll cnt = 0; while (sus.size()!=0){ if (cnt==k) break; cnt++; sus.pop(); } } while (sus.size()!=0){ ll temp = sus.top().second; sus.pop(); sus2.push(-temp); } FOR(i,0,B){ ll cnt = 0; while (sus2.size()!=0){ if (cnt==k) break; ll temp = sus2.top(); if (temp > Y[i]) break; cnt++; sus2.pop(); } } if (sus2.size()) return 0; else return 1; }; ll lo = 0; ll hi = T+1; while (lo<hi){ ll mid = lo + (hi - lo) / 2; if (check(mid)) hi = mid; else lo = mid + 1; } return lo; }
#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...