11192022-03-04 00:10:47peti1234Tűzijátékcpp14Elfogadva 50/5017ms8396 KiB
#include <bits/stdc++.h>

using namespace std;

//mukodik a moho megoldas, mindig ki kell valasztani az telephelyhez legkozelebb levo csucsot, ahol lehet tuzijatek

int n, s, t, tav[100005];
vector<int> valasz;
int main()
{
    ios_base::sync_with_stdio(false);
    cin >> n >> s >> t;
    for (int i=1; i<=n; i++) {
        cin >> tav[i];
    }
    valasz.push_back(s);
    // s mindenkeppen szerepel
    int ut=s;
    for (int i=s-1; i>=1; i--) {
        // s elott levoket kell kivalasztani
        if (tav[ut]-tav[i]>=t) {
            valasz.push_back(i);
            ut=i;
        }
    }
    ut=s;
    for (int i=s+1; i<=n; i++) {
        // az s utan levok
        if (tav[i]-tav[ut]>=t) {
            valasz.push_back(i);
            ut=i;
        }
    }
    sort(valasz.begin(), valasz.end());
    cout << valasz.size() << "\n";
    for (auto x:valasz) {
        cout << x << " ";
    }
    cout << "\n";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/02ms1824 KiB
2Elfogadva0/016ms3764 KiB
3Elfogadva2/21ms2728 KiB
4Elfogadva2/21ms2728 KiB
5Elfogadva2/21ms2732 KiB
6Elfogadva2/21ms2740 KiB
7Elfogadva2/21ms2744 KiB
8Elfogadva2/21ms2744 KiB
9Elfogadva2/22ms2792 KiB
10Elfogadva2/22ms2972 KiB
11Elfogadva2/22ms3028 KiB
12Elfogadva2/23ms3136 KiB
13Elfogadva2/24ms3388 KiB
14Elfogadva2/23ms3384 KiB
15Elfogadva3/33ms3508 KiB
16Elfogadva3/34ms3944 KiB
17Elfogadva3/36ms4320 KiB
18Elfogadva3/312ms4804 KiB
19Elfogadva3/314ms6124 KiB
20Elfogadva3/317ms6872 KiB
21Elfogadva4/414ms7704 KiB
22Elfogadva4/413ms8396 KiB