11192022-03-04 00:10:47peti1234Tűzijátékcpp14Accepted 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;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/02ms1824 KiB
2Accepted0/016ms3764 KiB
3Accepted2/21ms2728 KiB
4Accepted2/21ms2728 KiB
5Accepted2/21ms2732 KiB
6Accepted2/21ms2740 KiB
7Accepted2/21ms2744 KiB
8Accepted2/21ms2744 KiB
9Accepted2/22ms2792 KiB
10Accepted2/22ms2972 KiB
11Accepted2/22ms3028 KiB
12Accepted2/23ms3136 KiB
13Accepted2/24ms3388 KiB
14Accepted2/23ms3384 KiB
15Accepted3/33ms3508 KiB
16Accepted3/34ms3944 KiB
17Accepted3/36ms4320 KiB
18Accepted3/312ms4804 KiB
19Accepted3/314ms6124 KiB
20Accepted3/317ms6872 KiB
21Accepted4/414ms7704 KiB
22Accepted4/413ms8396 KiB