83022024-01-14 12:40:44anonTanúk (45 pont)cpp17Hibás válasz 7/4581ms20376 KiB
#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
using namespace std;
typedef long long ll;
int main() {
    FastIO;
    bool flag;
    ll i, j, mh, N, H, K;
    cin >> N >> H >> K;
    vector<ll> tss(K);
    vector<array<ll, 2>> guests(N);
    for(i = 0; i < K; i++)
        cin >> tss[i];
    for(i = 0; i < N; i++)
        cin >> guests[i][0] >> guests[i][1];
    sort(all(tss));
    vector<array<vector<ll>, 2>> eps(H + 1);
    for(i = 0; i < N; i++) {
        for(j = 0; j < 2; j++)
            eps[guests[i][j]][j].push_back(i);
    }
    unordered_set<ll> here;
    unordered_set<ll> lc;
    vector<ll> ans;
    j = 0;
    for(i = 1; i <= H; i++) {
        for(const auto &x : eps[i][0])
            here.insert(x);
        flag = false;
        for(const auto &x : eps[i][1]) {
            if(lc.find(x) != lc.end()) {
                flag = true;
                break;
            }
        }
        if(flag) {
            mh = *(here.begin());
            for(const auto &x : here) {
                if(guests[mh][1] < guests[x][1])
                    mh = x;
            }
            ans.push_back(mh);
            j = upper_bound(all(tss), guests[mh][1]) - tss.begin();
            lc.clear();
        }
        if(i == tss[j]) {
            lc = here;
            j++;
        }
        for(const auto &x : eps[i][1])
            here.erase(x);
    }
    cout << ans.size() << '\n';
    for(const auto &x : ans)
        cout << x + 1 << ' ';
    cout << '\n';
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base7/45
1Elfogadva0/03ms1824 KiB
2Hibás válasz0/035ms12444 KiB
3Elfogadva2/235ms12808 KiB
4Elfogadva2/23ms3348 KiB
5Hibás válasz0/23ms2840 KiB
6Részben helyes1/23ms3384 KiB
7Hibás válasz0/24ms3640 KiB
8Hibás válasz0/24ms3968 KiB
9Hibás válasz0/26ms7788 KiB
10Hibás válasz0/24ms5016 KiB
11Hibás válasz0/27ms7904 KiB
12Hibás válasz0/27ms8036 KiB
13Hibás válasz0/28ms8160 KiB
14Hibás válasz0/28ms5516 KiB
15Hibás válasz0/29ms6160 KiB
16Hibás válasz0/212ms9328 KiB
17Hibás válasz0/243ms14704 KiB
18Hibás válasz0/270ms17032 KiB
19Hibás válasz0/264ms15124 KiB
20Elfogadva2/268ms15596 KiB
21Hibás válasz0/268ms18788 KiB
22Hibás válasz0/274ms18940 KiB
23Hibás válasz0/268ms19020 KiB
24Hibás válasz0/381ms20376 KiB