82702024-01-14 07:57:26MagyarKendeSZLGMekk Mester munkái (50 pont)cpp17Wrong answer 0/5059ms9828 KiB
#include <bits/stdc++.h>
#define speed cin.tie(0); ios::sync_with_stdio(0)
using namespace std;

int main() {
    speed;

    int N, H;
    cin >> N >> H;

    priority_queue<array<int, 3>, vector<array<int, 3>>, greater<array<int, 3>>> pq;
    for (int i = 1; i <= N; i++) {
        int k, v;
        cin >> k >> v;
        pq.push({ v, k, i });
    }

    array<vector<array<int, 2>>, 2> workS;
    workS[0].push_back({ 0, 0 });
    workS[1].push_back({ 0, 0 });

    while (!pq.empty()) {
        auto [v, k, id] = pq.top(); pq.pop();
        int mn = 1e9, mni = -1;

        for (int i = 0; i < 2; i++) {
            int gap = k - workS[i].back()[0];
            if (gap < mn) {
                mn = gap;
                mni = i;
            }
        }

        if (mni != -1) {
            workS[mni].push_back({ v, id });
        }
    }

    cout << workS[0].size() - 1 << ' ' << workS[1].size() - 1 << '\n';

    for (int i = 0; i < 2; i++) {
        for (int j = 1; j < workS[i].size(); j++) {
            cout << workS[i][j][1] << ' ';
        }
        cout << '\n';
    }
}
SubtaskSumTestVerdictTimeMemory
base0/50
1Wrong answer0/03ms1832 KiB
2Wrong answer0/07ms2724 KiB
3Wrong answer0/12ms2136 KiB
4Wrong answer0/13ms2324 KiB
5Wrong answer0/23ms2600 KiB
6Wrong answer0/23ms2720 KiB
7Wrong answer0/23ms2776 KiB
8Wrong answer0/23ms2996 KiB
9Wrong answer0/33ms3208 KiB
10Wrong answer0/13ms3476 KiB
11Wrong answer0/13ms3656 KiB
12Wrong answer0/23ms3612 KiB
13Wrong answer0/23ms3936 KiB
14Wrong answer0/23ms4144 KiB
15Wrong answer0/23ms4100 KiB
16Wrong answer0/33ms4104 KiB
17Wrong answer0/259ms9828 KiB
18Wrong answer0/257ms9816 KiB
19Wrong answer0/457ms9804 KiB
20Wrong answer0/457ms9804 KiB
21Wrong answer0/457ms9824 KiB
22Wrong answer0/457ms9800 KiB
23Wrong answer0/457ms9800 KiB