8631 2024. 01. 24 09:47:47 MagyarKendeSZLG Tűzijáték cpp17 Elfogadva 50/50 17ms 5924 KiB

#include <bits/stdc++.h>

#pragma region Utility

#define speed cin.tie(0); ios::sync_with_stdio(0)
#define cinv(v) for (auto& e : v) cin >> e;

#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define size(v) (int)v.size()
#define has(s, e) s.count(e)

#define max_index(v) max_element(all(v)) - v.begin()
#define min_index(v) min_element(all(v)) - v.begin()
#define smax(x, y) x = max(x, y)
#define smin(x, y) x = min(x, y)

#define sum(v) accumulate(all(v), 0)
#define product(v, T) accumulate(all(v), 1, multiplies<T>())

using namespace std;
using ll = long long;
using point = array<int, 2>;

int max(point p) { return max(p[0], p[1]); }
int min(point p) { return min(p[0], p[1]); }

template <typename T>
vector<T> prefix_sum(const vector<T>& v) {
    vector<T> result(size(v));
    partial_sum(all(v), result.begin());
    return result;
}

#pragma endregion


int main() {
    #ifdef ONLINE_JUDGE
    speed;
    #else
    #define cin fin
    ifstream fin("input.txt");
    #endif

    int N, S, T;
    cin >> N >> S >> T;
    vector<int> input(N + 1);
    for (int i = 1; i <= N; i++) cin >> input[i];
    vector<int> result({S});
    int left = S, right = S;
    for (int i = S; i <= N; i++) {
        if (abs(input[right] - input[i]) >= T) {
            result.push_back(i);
            right = i;
        }
    }
    for (int i = S; i > 0; i--) {
        if (abs(input[left] - input[i]) >= T) {
            result.push_back(i);
            left = i;
        }
    }
    sort(all(result));
    cout << size(result) << '\n';
    for (int x : result) cout << x << ' ';
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1832 KiB
2 Elfogadva 0/0 17ms 3940 KiB
3 Elfogadva 2/2 3ms 3060 KiB
4 Elfogadva 2/2 3ms 3272 KiB
5 Elfogadva 2/2 3ms 3508 KiB
6 Elfogadva 2/2 3ms 3576 KiB
7 Elfogadva 2/2 3ms 3556 KiB
8 Elfogadva 2/2 3ms 3784 KiB
9 Elfogadva 2/2 3ms 4188 KiB
10 Elfogadva 2/2 4ms 4240 KiB
11 Elfogadva 2/2 4ms 4412 KiB
12 Elfogadva 2/2 4ms 4492 KiB
13 Elfogadva 2/2 4ms 4652 KiB
14 Elfogadva 2/2 4ms 4856 KiB
15 Elfogadva 3/3 4ms 4872 KiB
16 Elfogadva 3/3 7ms 5264 KiB
17 Elfogadva 3/3 8ms 5196 KiB
18 Elfogadva 3/3 8ms 5248 KiB
19 Elfogadva 3/3 17ms 5872 KiB
20 Elfogadva 3/3 17ms 5920 KiB
21 Elfogadva 4/4 17ms 5924 KiB
22 Elfogadva 4/4 16ms 5880 KiB