Cod sursa(job #2314518)

Utilizator mihai50000Mihai-Cristian Popescu mihai50000 Data 8 ianuarie 2019 17:24:00
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("secventa.in");
ofstream out("secventa.out");

const int DIM = 5e5 + 7;

deque <int> d;
int v[DIM];

int main()
{
	int n, k;
	in >> n >> k;
	
	for(int i = 1; i <= n; i++)
		in >> v[i];
	
	int mx = -1e9;
	int l = 1;
	
	for(int i = 1; i <= n; i++)
	{
		while(!d.empty() && v[d.back()] >= v[i])
			d.pop_back();
		
		d.push_back(i);
		
		if(i - d.front() == k)
			d.pop_front();
		
		if(i >= k && v[d.front()] > mx)
		{
			mx = v[d.front()];
			l = d.front();
		}
	}
	
	out << l << ' ' << l + k - 1 << ' ' << mx;
}