Cod sursa(job #657161)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 5 ianuarie 2012 21:07:26
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <fstream>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n, k;
int a[5000010], Deque[5000010];
int st, dr,stm,drm;
long long rez;

int main()
{
	int i;
	f>>n>>k;
	for (i = 1; i <= n; i++) 
		f>>a[i];
	st = 1, dr = 0; 
	for (i = 1; i <= n; i++)
	{
		while (st <= dr && a[i] <= a[ Deque[dr] ]) dr--;		
		Deque[++dr] = i;
		if (Deque[st] == i-k) st++;
		if (i >= k) if( a[ Deque[st]]>rez){ rez= a[Deque[st]]; stm=Deque[st]; drm=Deque[dr];}	
	}
	g<<stm<<' '<<drm<<' '<<rez;
	return 0;
}