149722025-02-10 11:32:21csdavidTűzijátékcpp17Elfogadva 50/5016ms1204 KiB
#include <iostream>
#include <fstream>
using namespace std;

struct varos{
    bool tuzijatek=0, nemlehet=0;
    int tav;
};

int main()
{
    cin.tie(NULL);
    ios_base::sync_with_stdio(false);
    int n, telephely, t, elozo=-1000000000, m=1;
    cin >> n >> telephely >> t;
    telephely--;
    varos a[n];
    for(int i=0; i<n; i++){
        cin >> a[i].tav;
    }
    a[telephely].tuzijatek=1;
    a[telephely].nemlehet=1;
    for(int i=telephely+1; i<n&&a[i].tav<a[telephely].tav+t; i++){
        a[i].nemlehet=1;
    }
    for(int i=telephely-1; i>=0&&a[i].tav>a[telephely].tav-t; i--){
        a[i].nemlehet=1;
    }
    for(int i=0; i<n; i++){
        if(!a[i].nemlehet&&a[i].tav>=elozo+t){
            a[i].nemlehet=1;
            a[i].tuzijatek=1;
            elozo=a[i].tav;
            m++;
        }
        else{
            a[i].nemlehet=1;
        }
    }
    cout << m << '\n';
    for(int i=0; i<n; i++){
        if(a[i].tuzijatek){
            cout << i+1 << ' ';
        }
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/014ms1080 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/22ms380 KiB
11Elfogadva2/22ms316 KiB
12Elfogadva2/23ms564 KiB
13Elfogadva2/24ms564 KiB
14Elfogadva2/23ms564 KiB
15Elfogadva3/33ms564 KiB
16Elfogadva3/34ms564 KiB
17Elfogadva3/36ms664 KiB
18Elfogadva3/38ms820 KiB
19Elfogadva3/316ms1104 KiB
20Elfogadva3/314ms1200 KiB
21Elfogadva4/414ms1204 KiB
22Elfogadva4/414ms1200 KiB