제출 #787657

#제출 시각아이디문제언어결과실행 시간메모리
787657drdilyor로봇 (IOI13_robots)C++17
0 / 100
2 ms468 KiB
#include "robots.h"
#include <algorithm>
#include <iostream>
#include <vector>
#include <cassert>
using namespace std;

int putaway(int wrobot, int srobot, int n, int rw[], int rs[], int w[], int s[]) {

    assert(srobot == 0);
    sort(rw, rw + wrobot);
    sort(w, w + n);
    if (!wrobot && !srobot) {
        return 0;
    }


    auto check = [&](int time)->bool {
        int cnt = 0;
        int toy = 0;
        for (int robot = 0; robot < wrobot; robot++) {
            while (toy < n && rw[robot] >= w[toy]) {
                toy++;
                cnt++;
            }
            cnt = max(cnt - time, 0);
        }
        return cnt == 0 && toy == n;
    };

    int l = -1, r = n +1;
    while (l < r - 1) {
        int mid = (l + r) / 2;
        if (check(mid)) r = mid;
        else l = mid;
    }
    return r == n+1 ? -1 : r;
}
#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...