5975 2023. 10. 08 09:37:34 neszbal Utazásszervezés (75 pont) cpp17 Elfogadva 75/75 6ms 4008 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int getIndex(vector<int> v, int X) {
    auto it = find(v.begin(), v.end(), X);
    if (it != v.end()) {
        int index = it - v.begin();
        return index;
    }
    else {
        return -1;
    }
}



int main() {
    /*  2 10 4 6
        1 2 2 5 6 7
    */

    int N, K, M, C, a=0;

    cin >> N >> K >> M >> C;
    vector<int> igenyek(C);
    vector<int> kiserok(N, -1);

    for (int i = 0; i < C; i++) {
        cin >> igenyek[i];
    }

    for(int i=0; i<C; i++) {


        int idegenvezeto = getIndex(kiserok, -1);
        if (idegenvezeto != -1) {
            kiserok[idegenvezeto] = igenyek[i]+M-1;
            a++;
        } else {
            for (int j = 0; j < N; j++) {
                if(kiserok[j] < igenyek[i]) {
                    kiserok[j] = igenyek[i] + M - 1;
                    a++;
                    break;
                }
            }
        }

            
        
        
        

    }


    cout << a << endl;



    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 75/75
1 Elfogadva 0/0 3ms 1936 KiB
2 Elfogadva 0/0 6ms 2264 KiB
3 Elfogadva 3/3 2ms 2124 KiB
4 Elfogadva 4/4 2ms 2256 KiB
5 Elfogadva 4/4 3ms 2472 KiB
6 Elfogadva 4/4 2ms 2580 KiB
7 Elfogadva 4/4 2ms 2604 KiB
8 Elfogadva 4/4 2ms 2680 KiB
9 Elfogadva 5/5 3ms 2780 KiB
10 Elfogadva 5/5 3ms 2996 KiB
11 Elfogadva 6/6 4ms 3220 KiB
12 Elfogadva 6/6 4ms 3320 KiB
13 Elfogadva 6/6 4ms 3320 KiB
14 Elfogadva 6/6 6ms 3580 KiB
15 Elfogadva 6/6 6ms 3792 KiB
16 Elfogadva 6/6 6ms 3752 KiB
17 Elfogadva 6/6 6ms 4008 KiB