243232026-02-09 10:41:06SzeredaiNatanaelTűzijátékcpp17Elfogadva 50/5045ms2100 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> ans;

int main()
{
	int n, s, t; cin >> n >> s >> t;
	vector<long long> v(n + 1);
	vector<long long> x(n + 1);
	for (int i = 1; i <= n; ++i) {
		cin >> v[i];
	}
	
	ans.push_back(s);
	int tav = 0;
	for (int i = s+1; i <= n; ++i) {
		x[i] = v[i] - v[i - 1];
		if (x[i] + tav >= t) {
			ans.push_back(i);
			tav = 0;
		}
		else if (x[i] + tav < t) {
			tav += x[i];
		}
	}

	tav = 0;
	for (int i = s-1; i >= 1; --i) {
		x[i] = v[i + 1] - v[i];
		if (x[i] + tav >= t) {
			ans.push_back(i);
			tav = 0;
		}
		else if (x[i] + tav < t) {
			tav += x[i];
		}
	}
	
	sort(ans.begin(), ans.end());
	cout << ans.size() << "\n";
	for (auto& i : ans) {
		cout << i << " ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms500 KiB
2Elfogadva0/043ms2100 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/24ms580 KiB
11Elfogadva2/24ms540 KiB
12Elfogadva2/28ms604 KiB
13Elfogadva2/28ms700 KiB
14Elfogadva2/28ms696 KiB
15Elfogadva3/38ms692 KiB
16Elfogadva3/313ms884 KiB
17Elfogadva3/317ms1040 KiB
18Elfogadva3/319ms1200 KiB
19Elfogadva3/345ms1976 KiB
20Elfogadva3/343ms2100 KiB
21Elfogadva4/443ms1980 KiB
22Elfogadva4/443ms1844 KiB