Cod sursa(job #2314520)

Utilizator mihai50000Mihai-Cristian Popescu mihai50000 Data 8 ianuarie 2019 17:25:58
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 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 r = k;
	
	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()];
			r = i;
		}
	}
	
	out << r - k + 1 << ' ' << r << ' ' << mx;
}