답안 #963978

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
963978 2024-04-16T06:39:06 Z irmuun 로봇 (IOI13_robots) C++17
100 / 100
1636 ms 28476 KB
#include<bits/stdc++.h>
#include "robots.h"

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

int putaway(int A,int B,int T,int X[],int Y[],int W[],int S[]){
    pair<int,int>toy[T];
    for(int i=0;i<T;i++){
        toy[i].ff=W[i];
        toy[i].ss=S[i];
    }
    sort(toy,toy+T);
    sort(X,X+A);
    sort(Y,Y+B);
    int l=1,r=T+1;
    vector<bool>used(T);
    while(l<r){
        int mid=(l+r)/2;
        fill(all(used),0);
        priority_queue<pair<int,int>>pq;
        int le=0;
        for(int i=0;i<A;i++){
            while(le<T&&toy[le].ff<X[i]){
                pq.push({toy[le].ss,le});
                le++;
            }
            int cur=mid;
            while(cur--&&!pq.empty()){
                used[pq.top().ss]=true;
                pq.pop();
            }
        }
        while(!pq.empty()) pq.pop();
        for(int i=0;i<T;i++){
            if(!used[i]){
                pq.push({toy[i].ss,i});
            }
        }
        for(int i=B-1;i>=0;i--){
            int cur=mid;
            while(cur--&&!pq.empty()){
                if(pq.top().ff<Y[i]){
                    pq.pop();
                }
                else break;
            }
        }
        if(!pq.empty()) l=mid+1;
        else r=mid;
    }
    if(l==T+1) return -1;
    return l;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 444 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 2392 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1167 ms 26376 KB Output is correct
5 Correct 1456 ms 27180 KB Output is correct
6 Correct 30 ms 4412 KB Output is correct
7 Correct 352 ms 18192 KB Output is correct
8 Correct 750 ms 25684 KB Output is correct
9 Correct 1504 ms 27156 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 2492 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 2488 KB Output is correct
8 Correct 1 ms 2392 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 1 ms 2396 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 1 ms 2392 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 0 ms 444 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 0 ms 344 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 440 KB Output is correct
15 Correct 1 ms 348 KB Output is correct
16 Correct 11 ms 724 KB Output is correct
17 Correct 16 ms 860 KB Output is correct
18 Correct 17 ms 1060 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 600 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 600 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 1 ms 4440 KB Output is correct
10 Correct 1171 ms 26496 KB Output is correct
11 Correct 1445 ms 27392 KB Output is correct
12 Correct 30 ms 4396 KB Output is correct
13 Correct 343 ms 18292 KB Output is correct
14 Correct 772 ms 25500 KB Output is correct
15 Correct 1 ms 2488 KB Output is correct
16 Correct 1 ms 348 KB Output is correct
17 Correct 0 ms 348 KB Output is correct
18 Correct 1 ms 348 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 1 ms 348 KB Output is correct
21 Correct 11 ms 2908 KB Output is correct
22 Correct 1566 ms 27316 KB Output is correct
23 Correct 1514 ms 27164 KB Output is correct
24 Correct 844 ms 27100 KB Output is correct
25 Correct 519 ms 21844 KB Output is correct
26 Correct 999 ms 28476 KB Output is correct
27 Correct 685 ms 24124 KB Output is correct
28 Correct 806 ms 23908 KB Output is correct
29 Correct 1636 ms 27936 KB Output is correct