4397 2023. 03. 27 13:18:13 AGergo Tűzijáték cpp11 Elfogadva 50/50 43ms 4640 KiB
#include <bits/stdc++.h>

using namespace std;

int telepszam,hely,tav,sum;
vector<int> haz;
vector<bool> tuz;

void elo(int index)
{
    for(int i = index+1; i < telepszam; i++)
    {
        if(haz[i] >= haz[index] + tav)
        {
            tuz[i] = true;
            elo(i);
            sum++;
            break;
        }
    }
}

void hat(int index)
{
    for(int i = index-1; i >= 0; i--)
    {
        if(haz[i] + tav <= haz[index])
        {
            tuz[i] = true;
            hat(i);
            sum++;
            break;
        }
    }
}
int main()
{

    cin >> telepszam >> hely >> tav;

    haz.resize(telepszam);
    tuz.resize(telepszam);

    tuz[hely-1] = true;


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

    elo(hely-1);
    hat(hely-1);

    cout << sum+1 << "\n";
    for(int i = 0; i < telepszam; i++)
    {
        if(tuz[i])
        {
            cout << i+1 << " ";
        }
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1880 KiB
2 Elfogadva 0/0 41ms 3064 KiB
3 Elfogadva 2/2 3ms 2192 KiB
4 Elfogadva 2/2 2ms 2260 KiB
5 Elfogadva 2/2 3ms 2512 KiB
6 Elfogadva 2/2 2ms 2472 KiB
7 Elfogadva 2/2 2ms 2476 KiB
8 Elfogadva 2/2 3ms 2616 KiB
9 Elfogadva 2/2 4ms 2728 KiB
10 Elfogadva 2/2 6ms 2884 KiB
11 Elfogadva 2/2 6ms 3068 KiB
12 Elfogadva 2/2 8ms 3440 KiB
13 Elfogadva 2/2 8ms 3548 KiB
14 Elfogadva 2/2 8ms 3652 KiB
15 Elfogadva 3/3 8ms 3684 KiB
16 Elfogadva 3/3 13ms 3816 KiB
17 Elfogadva 3/3 17ms 3720 KiB
18 Elfogadva 3/3 20ms 3860 KiB
19 Elfogadva 3/3 43ms 4516 KiB
20 Elfogadva 3/3 43ms 4504 KiB
21 Elfogadva 4/4 41ms 4508 KiB
22 Elfogadva 4/4 43ms 4640 KiB