Submission #965500

# Submission time Handle Problem Language Result Execution time Memory
965500 2024-04-18T18:33:49 Z ThegeekKnight16 Robots (IOI13_robots) C++17
76 / 100
1079 ms 44008 KB
#include <bits/stdc++.h>
#include "robots.h"
using namespace std;

bool Test(int x, int A, int B, int T, int *X, int *Y, const vector<pair<int, int>> &Toy)
{
    if (x*(A+B) < T) return 0;
    vector<pair<int, int>> sweep; //weight, id
    for (int i = 0; i < T; i++) sweep.emplace_back(Toy[i].first, i);
    for (int i = 0; i < A; i++) sweep.emplace_back(X[i], -1);
    sort(sweep.begin(), sweep.end());

    multiset<int> remain;
    for (auto [w, id] : sweep)
    {
        if (id == -1)
        {
            int remov = x;
            while (remov > 0 && !remain.empty()) remain.erase(prev(remain.end())), --remov;
        }
        else remain.insert(Toy[id].second);
    }

    sweep.clear(); //now size, type
    for (auto x : remain) sweep.emplace_back(x, 1);
    for (int i = 0; i < B; i++) sweep.emplace_back(Y[i], -1);
    sort(sweep.begin(), sweep.end());
    int cnt = 0;
    for (auto [s, type] : sweep)
    {
        if (type == -1) cnt = max(0, cnt-x);
        else cnt++;
    }
    return (cnt == 0);
}

int putaway(int A, int B, int T, int X[], int Y[], int _W[], int _S[])
{
    vector<pair<int, int>> Toy(T);
    for (int i = 0; i < T; i++) Toy[i] = make_pair(_W[i], _S[i]);
    sort(X, X+A); sort(Y, Y+B);
    for (int i = 0; i < T; i++) if (Toy[i].first >= X[A-1] && Toy[i].second >= Y[B-1]) return -1;
    sort(Toy.begin(), Toy.end());

    int ini = 1, fim = T;
    while (ini < fim)
    {
        int m = (ini + fim) >> 1;
        if (Test(m, A, B, T, X, Y, Toy)) fim = m;
        else ini = m+1;
    }
    return fim;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4440 KB Output is correct
2 Correct 1 ms 4440 KB Output is correct
3 Correct 1 ms 4444 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Correct 1 ms 4692 KB Output is correct
6 Correct 1 ms 4444 KB Output is correct
7 Correct 1 ms 4444 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Correct 1 ms 4444 KB Output is correct
3 Correct 1 ms 4540 KB Output is correct
4 Incorrect 1079 ms 43516 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Correct 1 ms 4444 KB Output is correct
3 Correct 1 ms 4444 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Correct 1 ms 4444 KB Output is correct
6 Correct 1 ms 4444 KB Output is correct
7 Correct 1 ms 4444 KB Output is correct
8 Correct 1 ms 4444 KB Output is correct
9 Correct 1 ms 4440 KB Output is correct
10 Correct 1 ms 4440 KB Output is correct
11 Correct 1 ms 4440 KB Output is correct
12 Correct 1 ms 4444 KB Output is correct
13 Correct 1 ms 4440 KB Output is correct
14 Correct 1 ms 4444 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Correct 1 ms 4444 KB Output is correct
3 Correct 1 ms 4444 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Correct 1 ms 4444 KB Output is correct
6 Correct 1 ms 4444 KB Output is correct
7 Correct 1 ms 4444 KB Output is correct
8 Correct 1 ms 4444 KB Output is correct
9 Correct 1 ms 4444 KB Output is correct
10 Correct 1 ms 4444 KB Output is correct
11 Correct 1 ms 4444 KB Output is correct
12 Correct 1 ms 4444 KB Output is correct
13 Correct 1 ms 4440 KB Output is correct
14 Correct 1 ms 4444 KB Output is correct
15 Correct 1 ms 4440 KB Output is correct
16 Correct 13 ms 5108 KB Output is correct
17 Correct 19 ms 5088 KB Output is correct
18 Correct 17 ms 5468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Correct 1 ms 4444 KB Output is correct
3 Correct 1 ms 4444 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Correct 1 ms 4444 KB Output is correct
6 Correct 1 ms 4444 KB Output is correct
7 Correct 1 ms 4444 KB Output is correct
8 Correct 1 ms 4440 KB Output is correct
9 Correct 1 ms 4444 KB Output is correct
10 Incorrect 1022 ms 44008 KB Output isn't correct
11 Halted 0 ms 0 KB -