161572025-04-08 08:44:57buzaszendvicsTűzijátékcpp17Elfogadva 50/5045ms1076 KiB
#include <iostream>

using namespace std;

struct elem
{
    int t;
    elem* elozo;
    elem* kovi;
};

typedef elem* mutato;

struct lista
{
    mutato kezd;
    mutato veg;

    void init()
    {
        kezd = new elem;
        veg = new elem;

        kezd->kovi = veg;
        veg->elozo = kezd;
    }

    void vegere(int x)
    {
        mutato p = new elem;
        p->kovi = veg;
        p->elozo = veg->elozo;
        veg->elozo->kovi = p;
        veg->elozo = p;
        p->t = x;
    }

    void elejere(int x)
    {
        mutato p = new elem;
        p->kovi = kezd->kovi;
        p->elozo = kezd;
        kezd->kovi->elozo = p;
        kezd->kovi = p;
        p->t = x;
    }

    void kiir()
    {
        for (mutato p = kezd->kovi; p != veg; p = p->kovi) cout << p->t << ' ';
    }
};

int main()
{
    int n, k, t;

    cin >> n >> k >> t;

    int p[100001];

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

    int db = 1;
    lista L;
    L.init();

    int nemszabad = p[k-1] - t + 1;
    for (int i = k - 2; i >= 0; i --) {
        if (p[i] < nemszabad) {
            db ++;
            L.elejere(i + 1);
            nemszabad = p[i] - t + 1;
        }
    }

    L.vegere(k);

    nemszabad = p[k-1] + t - 1;
    for (int i = k; i < n; i ++) {
        if (p[i] > nemszabad) {
            db ++;
            L.vegere(i + 1);
            nemszabad = p[i] + t - 1;
        }
    }

    cout << db << endl;
    L.kiir();
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/043ms1076 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/24ms316 KiB
11Elfogadva2/24ms440 KiB
12Elfogadva2/28ms468 KiB
13Elfogadva2/28ms316 KiB
14Elfogadva2/27ms468 KiB
15Elfogadva3/38ms316 KiB
16Elfogadva3/312ms480 KiB
17Elfogadva3/316ms564 KiB
18Elfogadva3/319ms552 KiB
19Elfogadva3/345ms1016 KiB
20Elfogadva3/343ms900 KiB
21Elfogadva4/443ms1076 KiB
22Elfogadva4/443ms564 KiB