147522025-02-01 16:32:18mateTűzijátékcpp17Accepted 50/5041ms824 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, k, d; cin >> n >> k >> d;
    vector <int> v(n+1);
    for(int i = 0; i < n; i++)  cin >> v[i];
    vector <int> ans;
    int l = 0;
    if(v[k-1] - v[0] >= d || k == 1){
        l = v[0];
        ans.push_back(1);
    }
    
    for(int i = 1; i < n; i++){
        if(v[i] - l >= d && v[i] + d <= v[k-1]){
            ans.push_back(i+1);
            l = v[i];
        }else{
            continue;
        }
    }
    if(k != 1){
        l = v[k-1];
        ans.push_back(k);
    }
    
    for(int i = k; i < n; i++){
        if(v[i] - l >= d){
            ans.push_back(i+1);
            l = v[i];
        }
    }
    cout << ans.size() << '\n';
    for(int x : ans)    cout << x << ' ';
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms508 KiB
2Accepted0/041ms820 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms360 KiB
9Accepted2/23ms316 KiB
10Accepted2/24ms508 KiB
11Accepted2/24ms316 KiB
12Accepted2/28ms556 KiB
13Accepted2/27ms316 KiB
14Accepted2/27ms500 KiB
15Accepted3/37ms468 KiB
16Accepted3/312ms512 KiB
17Accepted3/316ms572 KiB
18Accepted3/318ms756 KiB
19Accepted3/341ms820 KiB
20Accepted3/341ms796 KiB
21Accepted4/441ms824 KiB
22Accepted4/441ms800 KiB