1119 2022. 03. 04 00:10:47 peti1234 Tűzijáték cpp14 Accepted 50/50 17ms 8396 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;
}
Subtask Sum Test Verdict Time Memory
base 50/50
1 Accepted 0/0 2ms 1824 KiB
2 Accepted 0/0 16ms 3764 KiB
3 Accepted 2/2 1ms 2728 KiB
4 Accepted 2/2 1ms 2728 KiB
5 Accepted 2/2 1ms 2732 KiB
6 Accepted 2/2 1ms 2740 KiB
7 Accepted 2/2 1ms 2744 KiB
8 Accepted 2/2 1ms 2744 KiB
9 Accepted 2/2 2ms 2792 KiB
10 Accepted 2/2 2ms 2972 KiB
11 Accepted 2/2 2ms 3028 KiB
12 Accepted 2/2 3ms 3136 KiB
13 Accepted 2/2 4ms 3388 KiB
14 Accepted 2/2 3ms 3384 KiB
15 Accepted 3/3 3ms 3508 KiB
16 Accepted 3/3 4ms 3944 KiB
17 Accepted 3/3 6ms 4320 KiB
18 Accepted 3/3 12ms 4804 KiB
19 Accepted 3/3 14ms 6124 KiB
20 Accepted 3/3 17ms 6872 KiB
21 Accepted 4/4 14ms 7704 KiB
22 Accepted 4/4 13ms 8396 KiB