253992026-02-19 19:28:03lorantbTűzijátékcpp17Elfogadva 50/5045ms820 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> nums;
vector<int> v;
int n,x,k; 

void solve(int a, int b) {
    if(b == 0) {
        int dist = 0;
        for(int i = a+1; i < n; i++) {
            dist += nums[i]-nums[i-1];
            if(dist >= k) {
                v.push_back(i);
                solve(i,0);
                break;
            }
        }
    }
    else {
        int dist = 0;
        for(int i = a-1; i >= 0; i--) {
            dist += nums[i+1] - nums[i];
            if(dist >= k) {
                v.push_back(i);
                solve(i, 1);
                break;
            }
        }
    }
}

int main() {
    cin >> n >> x >> k;
    x--;
    nums.assign(n,0);
    for(int i = 0; i < n; i++) cin >> nums[i];
    v.push_back(x);
    solve(x,0);
    solve(x,1);
    sort(begin(v), end(v));
    cout << v.size() << endl;
    for(int i : v) cout << i+1 << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/043ms820 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/24ms508 KiB
11Elfogadva2/24ms440 KiB
12Elfogadva2/28ms468 KiB
13Elfogadva2/28ms392 KiB
14Elfogadva2/27ms468 KiB
15Elfogadva3/38ms508 KiB
16Elfogadva3/312ms528 KiB
17Elfogadva3/317ms748 KiB
18Elfogadva3/319ms612 KiB
19Elfogadva3/345ms804 KiB
20Elfogadva3/343ms804 KiB
21Elfogadva4/443ms808 KiB
22Elfogadva4/443ms800 KiB