Submission #1059226

#TimeUsernameProblemLanguageResultExecution timeMemory
1059226vjudge1Robots (IOI13_robots)C++17
0 / 100
1 ms348 KiB
#include "robots.h"
#include<bits/stdc++.h>
#define ll long long

using namespace std;

vector<pair<int,int>> Tw;
int a, t;
vector<int> x;

bool bcheck(int n){
    int pos=0,cnt=n,toys_cnt=0;
    for(int i=0; i < t; i++){
        if(Tw[i].first < x[pos]){
            cnt--;
            toys_cnt++;
        }
        if(cnt == 0){
            cnt = n;
            pos++;
        }
        if(pos == a)break;
    }

    return toys_cnt == t;
}

int binary(int l, int r){
    int n;

    while(l <= r){
        n = (l+r)/2;

        if(bcheck(n)){
            r = n-1;
        }else{
            l = n+1;
        }
    }

    return l;
}

int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
    a = A; t = T;
    for(int i=0; i < A; i++){
        x.push_back(X[i]);
    }
    sort(x.rbegin(),x.rend());
    for(int i=0; i < T; i++){
        Tw.push_back({W[i],S[i]});
    }
    sort(Tw.rbegin(),Tw.rend());
    
    int ans=binary(0,T);

    if(ans > T)ans = -1;

    return ans;
}
#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...