211662026-01-12 15:37:55mártonágnesTűzijátékcpp17Elfogadva 50/5045ms1240 KiB
#include <iostream>
#include <set>

using namespace std;

struct telepules
{
    int tav;
};
int dmin;
bool elegtavol (int i, int j, telepules t[])
{
    if (t[i].tav-t[j].tav>=dmin || t[j].tav-t[i].tav>=dmin) return true;
    return false;
}
int kovi (int i, telepules t[])
{
    int j=i+1;
    while (!elegtavol(i, j, t))
    {
        j++;
    }
    return j;
}
int elozo (int i, telepules t[])
{
    int j=i-1;
    while (!elegtavol(i, j, t))
    {
        j--;
    }
    return j;
}
int main()
{
    int thind, N;
    cin >> N >> thind >> dmin;
    telepules t[N+1];
    for (int k=1; k<=N; k++)
    {
        cin>>t[k].tav;
    }
    set <int> tind;
    int i=thind;
    while (i>0)
    {
        tind.insert(i);
        i=elozo(i, t);
    }
    i=thind;
    while (i<=N)
    {
        tind.insert(i);
        i=kovi(i, t);
    }
    cout<<tind.size()<<endl;
    set<int>::iterator it;
    for (it=tind.begin(); it!=tind.end(); it++)
    {
        cout<<*it<<" ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/043ms1076 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/24ms316 KiB
10Elfogadva2/24ms316 KiB
11Elfogadva2/24ms460 KiB
12Elfogadva2/28ms316 KiB
13Elfogadva2/28ms316 KiB
14Elfogadva2/28ms316 KiB
15Elfogadva3/38ms456 KiB
16Elfogadva3/313ms448 KiB
17Elfogadva3/317ms744 KiB
18Elfogadva3/320ms692 KiB
19Elfogadva3/345ms1068 KiB
20Elfogadva3/343ms1240 KiB
21Elfogadva4/443ms1236 KiB
22Elfogadva4/445ms672 KiB