Cod sursa(job #3145004)

Utilizator bent_larsenSturzu Antonio-Gabriel bent_larsen Data 11 august 2023 20:17:07
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;

int main() {
	freopen("secventa.in", "r", stdin);
	freopen("secventa.out", "w", stdout);
	std::ios_base::sync_with_stdio (false);
	int n, k;
	cin >> n >> k;
	vector<int> v(n);
	for(int i = 0;i < n;++i)
		cin >> v[i];
	deque<int> q;
	int maxim = INT_MIN, pos = k - 1;
	for(int i = 0;i < n;++i)
	{
		while(!q.empty() && v[i] <= v[q.back()])
			q.pop_back();
		if(!q.empty() && i - q.front() >= k)
			q.pop_front();
		q.push_back(i);
		if(v[q.front()] > maxim && i >= k - 1)
		{
			maxim = v[q.front()];
			pos = i;
		}
	}
	cout << pos - k + 2 << " " << pos + 1 << " " << maxim << "\n";
}