258142026-03-03 18:30:26algoproRMI eredményekcpp17Hibás válasz 0/1001.1s1144 KiB
// UUID: 5b802466-0f0c-4295-99ad-aca258a7ca22
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;

int main() {
    //vector<int>v = {1 , 2 , 10};
    //auto it = lower_bound(v.begin() , v.end() , 2);
    //cout << it - v.begin();
    //return 0;
	int elso , masodik , n;
    cin >> elso >> masodik >> n;
    int en = elso + masodik;
    vector<int> a(n) , b(n);
    for(int i = 0; i < n; i++){
        cin >> a[i];
    }
    for(int i = 0; i < n; i++){
        cin >> b[i];
    }
    sort(a.begin() , a.end());
    sort(b.begin() , b.end());

    vector<bool> ures(n , 1); // 0 nyitott , 1 foglalt

    int ans1 = 1 , ans2 = 1;
    for(int i = 0; i < n; i++){
        int kene = en - a[i]; // ennel egyel tobb kell
        auto it = upper_bound(b.begin() , b.end() , kene);
        while (it - b.begin() < n && ures[it - b.begin()] == 0) {
            it++;
        }
        if(it - b.begin() == n){
            auto it2 = upper_bound(ures.begin() , ures.end() , 0);
            ures[it2 - ures.begin()] = 0;
        }
        else{
            ures [it - b.begin()] = 0;
            ans2++;
        }
        
    }

    for(int i = 0; i < n; i++){
        int kene = en - a[i] + 1; // ennel egyel kevesebb kell
        auto it = lower_bound(b.begin() , b.end() , kene);
        it--;
        while (it - b.begin() >= 0 && ures[it - b.begin()] == 1) {
            it--;
        }
        if(it - b.begin() == -1){
            int x = n - 1;
            while(ures[x] == 1) {
                x --;
            }
            ures[x] = 1;
            ans1++;
        }
        else{
            ures [it - b.begin()] = 0;
            
        }
        
    }

    cout << ans1 << " " << ans2; // legjobb hely , legrosszabb hely



    // vegigmegy osszes 1. napon
    // keres egy olyan 2. napot ami elottem vegez
    // ha nem talal akkor a legkisebbet veszi el
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
subtask20/30
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Hibás válasz1ms316 KiB
8Hibás válasz1ms316 KiB
9Hibás válasz1ms500 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Hibás válasz1ms316 KiB
13Hibás válasz1ms316 KiB
subtask30/20
14Elfogadva1ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
17Hibás válasz1ms316 KiB
18Hibás válasz1ms316 KiB
19Hibás válasz1ms500 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Hibás válasz1ms316 KiB
23Hibás válasz1ms316 KiB
24Hibás válasz1ms316 KiB
25Hibás válasz1ms316 KiB
26Hibás válasz1ms316 KiB
27Hibás válasz1ms316 KiB
28Elfogadva1ms316 KiB
29Hibás válasz1ms316 KiB
30Hibás válasz1ms316 KiB
31Hibás válasz1ms508 KiB
32Elfogadva1ms316 KiB
subtask40/50
33Elfogadva1ms324 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
39Hibás válasz1ms316 KiB
40Hibás válasz1ms316 KiB
41Hibás válasz1ms500 KiB
42Elfogadva1ms316 KiB
43Elfogadva1ms316 KiB
44Hibás válasz1ms316 KiB
45Hibás válasz1ms316 KiB
46Hibás válasz1ms316 KiB
47Hibás válasz1ms316 KiB
48Hibás válasz1ms316 KiB
49Hibás válasz1ms316 KiB
50Elfogadva1ms316 KiB
51Hibás válasz1ms316 KiB
52Hibás válasz1ms316 KiB
53Hibás válasz1ms508 KiB
54Elfogadva1ms316 KiB
55Elfogadva1ms500 KiB
56Hibás válasz1ms500 KiB
57Elfogadva2ms508 KiB
58Hibás válasz3ms384 KiB
59Hibás válasz63ms464 KiB
60Elfogadva13ms508 KiB
61Elfogadva215ms1144 KiB
62Elfogadva915ms1012 KiB
63Elfogadva263ms1080 KiB
64Időlimit túllépés1.1s1084 KiB
65Hibás válasz282ms564 KiB
66Időlimit túllépés1.078s820 KiB
67Elfogadva136ms1076 KiB
68Elfogadva421ms1076 KiB