44342023-03-28 08:30:35gyjazminTűzijátékcpp11Futási hiba 8/5014ms5064 KiB
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
vector<int> telepulesek;
vector<int> tavok;
void elore(int kezdovaros,int T){
    for (int i=1;i<100001;i++){
        if (tavok[kezdovaros-1]-tavok[kezdovaros-i-1]>=T)
        {
            telepulesek.push_back(kezdovaros-i);
            elore(kezdovaros-i,T);
            break;
        }
        else if (tavok[kezdovaros-1]-T<0)
            break;
    }
}
void hatra(int kezdovaros, int T){
    for (int i=1;i<100001;i++){
        if (tavok[kezdovaros-1]-T<0 || kezdovaros>=tavok.size())
            break;
        else if (tavok[kezdovaros+i-1]-tavok[kezdovaros-1]>=T)
        {
            telepulesek.push_back(kezdovaros+i);
            hatra(kezdovaros+i,T);
            break;
        }
    }
}
int main()
{
    iostream::sync_with_stdio(0);    cin.tie(0);
    int N;
    int S;
    int T;
    cin >> N >> S >> T;
    tavok.resize(N);
    for (int i=0;i<N;i++){
        cin >> tavok[i];
    }
   // vector<int> telepulesek;
    telepulesek.push_back(S);
    elore(S,T);
    hatra(S,T);
    sort(telepulesek.begin(),telepulesek.end());
    cout << telepulesek.size() << endl;
    for (int i=0;i<telepulesek.size();i++){
        cout << telepulesek[i] << " ";
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base8/50
1Elfogadva0/03ms1888 KiB
2Futási hiba0/014ms3232 KiB
3Hibás válasz0/23ms2336 KiB
4Elfogadva2/23ms2516 KiB
5Hibás válasz0/23ms2608 KiB
6Elfogadva2/23ms2740 KiB
7Elfogadva2/23ms2828 KiB
8Hibás válasz0/22ms2904 KiB
9Hibás válasz0/23ms3192 KiB
10Hibás válasz0/24ms3532 KiB
11Hibás válasz0/24ms3744 KiB
12Hibás válasz0/24ms3628 KiB
13Hibás válasz0/24ms3756 KiB
14Elfogadva2/24ms3624 KiB
15Hibás válasz0/34ms3884 KiB
16Hibás válasz0/36ms4032 KiB
17Futási hiba0/37ms4436 KiB
18Futási hiba0/38ms4660 KiB
19Futási hiba0/314ms5036 KiB
20Futási hiba0/314ms5032 KiB
21Futási hiba0/414ms5024 KiB
22Futási hiba0/414ms5064 KiB