Submission #996518

#TimeUsernameProblemLanguageResultExecution timeMemory
996518aykhnRobots (IOI13_robots)C++17
0 / 100
1 ms4444 KiB
#include "robots.h"
#include <bits/stdc++.h>

using namespace std;

int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) 
{
    sort(X, X + A), sort(Y, Y + B);
    vector<int> o(T, 0);
    iota(o.begin(), o.end(), 0);
    sort(o.begin(), o.end(), [&](const int &a, const int &b)
    {
        return W[a] < W[b];
    });
    int l = 1, r = T;
    while (l < r)
    {
        int mid = (l + r) >> 1;
        int j = 0;
        multiset<int> ms;
        for (int i = 0; i < A; i++)
        {
            while (j < T && W[o[j]] <= X[i]) ms.insert(S[o[j++]]);
            int c = mid;
            while (c-- && !ms.empty()) ms.erase(prev(ms.end()));
        }
        for (int i = 0; i < B; i++)
        {
            int c = mid;
            while (c-- && !ms.empty() && *ms.begin() <= Y[i]) ms.erase(ms.begin());
        }
        if (ms.empty()) r = mid;
        else l = mid + 1;
    }
    return l;
}
#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...