# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
101373 | 2019-03-18T19:06:38 Z | MohamedAhmed0 | 로봇 (IOI13_robots) | C++14 | 1908 ms | 13628 KB |
#include "robots.h" #include <bits/stdc++.h> using namespace std ; const int MAX = 50005 ; int n , m ; int Weight[MAX] , Size[MAX] ; vector< vector<int> >appear ; //the check function that return true if robots can put away toys in mid second and otherwise it will return false bool check(int mid) { priority_queue<int>q ; //put away toys using weak robots. for(int i = 0 ; i < n ; ++i) { for(int j = 0 ; j < appear[i].size() ; ++j) q.push(appear[i][j]) ; int sz = q.size() ; for(int j = 0 ; j < min(sz , mid) ; ++j) q.pop() ; } //handle case for toys that their weight is more than all weak robots weight. for(int j = 0 ; j < appear[n].size() ; ++j) q.push(appear[n][j]) ; //put away remaining toys using small robots. for(int i = 0 ; i < m ; ++i) { int sz = q.size() ; for(int j = 0 ; j < min(sz , mid) ; ++j) { int a = q.top() ; if(a >= Size[i]) break; q.pop() ; } } if(q.empty()) return 1 ; return 0 ; } int putaway(int A , int B , int T , int X[] , int Y[] , int W[] , int S[]) { for(int i = 0 ; i < A ; ++i) Weight[i] = X[i] ; for(int i = 0 ; i < B ; ++i) Size[i] = Y[i] ; sort(Weight , Weight + A) ; sort(Size , Size + B) ; n = A , m = B ; appear.resize(A+1) ; for(int i = 0 ; i < T ; ++i) { int idx1 = upper_bound(Weight , Weight + A , W[i]) - Weight ; int idx2 = upper_bound(Size , Size + B , S[i]) - Size ; //if current toy weight is bigger than weight of all weak robots and its size is more than size of all small robots if(idx1 == A && idx2 == B) return -1 ; appear[idx1].push_back(S[i]) ; } reverse(Size , Size + B) ; //make binary search int l = 1 , r = T , ans; while(l <= r) { int mid = (l + r) / 2 ; if(check(mid)) r = mid-1 , ans = mid; else l = mid+1 ; } return ans ; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 384 KB | Output is correct |
3 | Correct | 2 ms | 384 KB | Output is correct |
4 | Correct | 2 ms | 332 KB | Output is correct |
5 | Correct | 2 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 384 KB | Output is correct |
7 | Correct | 3 ms | 384 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 384 KB | Output is correct |
3 | Correct | 2 ms | 384 KB | Output is correct |
4 | Correct | 1469 ms | 12688 KB | Output is correct |
5 | Correct | 177 ms | 8192 KB | Output is correct |
6 | Correct | 54 ms | 3960 KB | Output is correct |
7 | Correct | 653 ms | 11632 KB | Output is correct |
8 | Correct | 922 ms | 12688 KB | Output is correct |
9 | Correct | 1761 ms | 12188 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 384 KB | Output is correct |
3 | Correct | 2 ms | 384 KB | Output is correct |
4 | Correct | 2 ms | 384 KB | Output is correct |
5 | Correct | 2 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 384 KB | Output is correct |
7 | Correct | 3 ms | 384 KB | Output is correct |
8 | Correct | 2 ms | 384 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 2 ms | 384 KB | Output is correct |
11 | Correct | 2 ms | 384 KB | Output is correct |
12 | Correct | 2 ms | 384 KB | Output is correct |
13 | Correct | 3 ms | 384 KB | Output is correct |
14 | Correct | 3 ms | 384 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 384 KB | Output is correct |
3 | Correct | 2 ms | 384 KB | Output is correct |
4 | Correct | 2 ms | 384 KB | Output is correct |
5 | Correct | 2 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 384 KB | Output is correct |
8 | Correct | 2 ms | 384 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 2 ms | 384 KB | Output is correct |
11 | Correct | 2 ms | 412 KB | Output is correct |
12 | Correct | 2 ms | 384 KB | Output is correct |
13 | Correct | 3 ms | 384 KB | Output is correct |
14 | Correct | 2 ms | 384 KB | Output is correct |
15 | Correct | 3 ms | 384 KB | Output is correct |
16 | Correct | 21 ms | 768 KB | Output is correct |
17 | Correct | 20 ms | 640 KB | Output is correct |
18 | Correct | 22 ms | 640 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 384 KB | Output is correct |
3 | Correct | 2 ms | 384 KB | Output is correct |
4 | Correct | 2 ms | 384 KB | Output is correct |
5 | Correct | 3 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 384 KB | Output is correct |
8 | Correct | 2 ms | 384 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 1410 ms | 12912 KB | Output is correct |
11 | Correct | 185 ms | 8092 KB | Output is correct |
12 | Correct | 52 ms | 4016 KB | Output is correct |
13 | Correct | 666 ms | 11812 KB | Output is correct |
14 | Correct | 925 ms | 12752 KB | Output is correct |
15 | Correct | 2 ms | 384 KB | Output is correct |
16 | Correct | 2 ms | 384 KB | Output is correct |
17 | Correct | 2 ms | 384 KB | Output is correct |
18 | Correct | 2 ms | 384 KB | Output is correct |
19 | Correct | 2 ms | 384 KB | Output is correct |
20 | Correct | 2 ms | 384 KB | Output is correct |
21 | Correct | 14 ms | 708 KB | Output is correct |
22 | Correct | 1659 ms | 11040 KB | Output is correct |
23 | Correct | 1720 ms | 12072 KB | Output is correct |
24 | Correct | 662 ms | 13076 KB | Output is correct |
25 | Correct | 739 ms | 11136 KB | Output is correct |
26 | Correct | 745 ms | 12472 KB | Output is correct |
27 | Correct | 913 ms | 13628 KB | Output is correct |
28 | Correct | 1004 ms | 13080 KB | Output is correct |
29 | Correct | 1908 ms | 12692 KB | Output is correct |