1119 2022. 03. 04 00:10:47 peti1234 Tűzijáték cpp14 Elfogadva 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;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 2ms 1824 KiB
2 Elfogadva 0/0 16ms 3764 KiB
3 Elfogadva 2/2 1ms 2728 KiB
4 Elfogadva 2/2 1ms 2728 KiB
5 Elfogadva 2/2 1ms 2732 KiB
6 Elfogadva 2/2 1ms 2740 KiB
7 Elfogadva 2/2 1ms 2744 KiB
8 Elfogadva 2/2 1ms 2744 KiB
9 Elfogadva 2/2 2ms 2792 KiB
10 Elfogadva 2/2 2ms 2972 KiB
11 Elfogadva 2/2 2ms 3028 KiB
12 Elfogadva 2/2 3ms 3136 KiB
13 Elfogadva 2/2 4ms 3388 KiB
14 Elfogadva 2/2 3ms 3384 KiB
15 Elfogadva 3/3 3ms 3508 KiB
16 Elfogadva 3/3 4ms 3944 KiB
17 Elfogadva 3/3 6ms 4320 KiB
18 Elfogadva 3/3 12ms 4804 KiB
19 Elfogadva 3/3 14ms 6124 KiB
20 Elfogadva 3/3 17ms 6872 KiB
21 Elfogadva 4/4 14ms 7704 KiB
22 Elfogadva 4/4 13ms 8396 KiB