43972023-03-27 13:18:13AGergoTűzijátékcpp11Elfogadva 50/5043ms4640 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ÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1880 KiB
2Elfogadva0/041ms3064 KiB
3Elfogadva2/23ms2192 KiB
4Elfogadva2/22ms2260 KiB
5Elfogadva2/23ms2512 KiB
6Elfogadva2/22ms2472 KiB
7Elfogadva2/22ms2476 KiB
8Elfogadva2/23ms2616 KiB
9Elfogadva2/24ms2728 KiB
10Elfogadva2/26ms2884 KiB
11Elfogadva2/26ms3068 KiB
12Elfogadva2/28ms3440 KiB
13Elfogadva2/28ms3548 KiB
14Elfogadva2/28ms3652 KiB
15Elfogadva3/38ms3684 KiB
16Elfogadva3/313ms3816 KiB
17Elfogadva3/317ms3720 KiB
18Elfogadva3/320ms3860 KiB
19Elfogadva3/343ms4516 KiB
20Elfogadva3/343ms4504 KiB
21Elfogadva4/441ms4508 KiB
22Elfogadva4/443ms4640 KiB