137702025-01-08 17:44:30GervidTűzijátékcpp17Accepted 50/5016ms1012 KiB
#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <limits.h>
#include <algorithm>
#include <math.h>

using namespace std;

int main()
{
	iostream::sync_with_stdio(0);
	cin.tie(0);

	int n, s, t, i;
	cin >> n >> s >> t;
	s--;

	vector<int> a(n), ans = { s };
	for (i = 0; i < n; i++) cin >> a[i];

	ans.reserve(n);
	int last = a[s];
	for (i = s+1; i < n; i++)
	{
		if (a[i] >= t + last)
		{
			last = a[i];
			ans.push_back(i);
		}
	}
	last = a[s];
	for (i = s-1; i > -1; i--)
	{
		if (a[i] + t <= last)
		{
			last = a[i];
			ans.push_back(i);
		}
	}

	sort(ans.begin(), ans.end());

	cout << ans.size() << '\n';
	for (i = 0; i < ans.size(); i++) cout << ans[i] + 1 << ' ';
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/014ms1012 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms508 KiB
8Accepted2/21ms316 KiB
9Accepted2/22ms316 KiB
10Accepted2/22ms316 KiB
11Accepted2/22ms316 KiB
12Accepted2/23ms316 KiB
13Accepted2/23ms316 KiB
14Accepted2/23ms492 KiB
15Accepted3/33ms316 KiB
16Accepted3/34ms564 KiB
17Accepted3/36ms564 KiB
18Accepted3/37ms632 KiB
19Accepted3/316ms824 KiB
20Accepted3/314ms828 KiB
21Accepted4/414ms832 KiB
22Accepted4/414ms1012 KiB