3211 2023. 02. 22 16:16:25 TuruTamas Ügyfélszolgálat (45) cpp17 Hibás válasz 13/45 128ms 6440 KiB
#include <bits/stdc++.h>

using namespace std;

#define pii pair<int, int>

struct comp {
    bool operator()(pii a, pii b) {
        if (a.first < b.first) return false;
        if (b.first < a.first) return true;
        if (a.second < b.second) return false;
        if (b.second < a.second) return true;
        return false;
    }
};

int lines_read = 0;
int N, M;
vector<int> pultok;
queue<pii> q2;

pii next() {
    if (q2.empty()) {
        pii r;
        cin >> r.first >> r.second;
        lines_read++;
        return r;
    }
    pii r = q2.front();
    q2.pop();
    return r;
}
int count(int t) {
    if (lines_read == N) return q2.size();
    pii x;
    cin >> x.first >> x.second;
    lines_read++;
    q2.push(x);
    while (x.first < t && lines_read < N)
    {
        cin >> x.first >> x.second;
        lines_read++;
        q2.push(x);
    }
    return q2.size();
}
int main() {
    cin >> M >> N;
    priority_queue<pii, vector<pii>, comp> q ;
    for (size_t i = 1; i < M+1; i++)
    {
        q.push({0, i});
    }
    
    int E, H;
    int maxvarido = 0;
    int maxvarakozo = 0;
    for (size_t i = 0; i < N; i++)
    {
        
        // cout << i << endl;
        pii temp = next();
        E = temp.first;
        H = temp.second;
        q.push( { max(q.top().first, E) + H, q.top().second } );
        maxvarido = max( maxvarido, q.top().first - E );
        
        if (E < q.top().first) {
            maxvarakozo = max(count(q.top().first), maxvarakozo);
        }
        
        pultok.push_back(q.top().second);
        q.pop();
    }
    while (q.size() > 1) q.pop();
    cout << q.top().first << " " << maxvarido << " " << maxvarakozo << "\n";
    for (int& x : pultok) cout << x << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 13/45
1 Elfogadva 0/0 3ms 1680 KiB
2 Hibás válasz 0/0 56ms 2920 KiB
3 Részben helyes 1/2 3ms 1948 KiB
4 Hibás válasz 0/2 3ms 2092 KiB
5 Hibás válasz 0/2 3ms 2308 KiB
6 Részben helyes 1/2 3ms 2500 KiB
7 Részben helyes 1/2 3ms 2716 KiB
8 Részben helyes 1/2 86ms 4944 KiB
9 Hibás válasz 0/2 81ms 6208 KiB
10 Részben helyes 1/2 101ms 5360 KiB
11 Részben helyes 1/2 81ms 5556 KiB
12 Hibás válasz 0/2 81ms 5508 KiB
13 Hibás válasz 0/2 97ms 6292 KiB
14 Részben helyes 1/2 86ms 5500 KiB
15 Hibás válasz 0/2 90ms 6148 KiB
16 Hibás válasz 0/2 85ms 6288 KiB
17 Hibás válasz 0/2 93ms 6284 KiB
18 Hibás válasz 0/2 90ms 6440 KiB
19 Részben helyes 1/2 128ms 5788 KiB
20 Részben helyes 1/3 128ms 5900 KiB
21 Részben helyes 2/4 101ms 5852 KiB
22 Részben helyes 2/4 108ms 5860 KiB