Cod sursa(job #812570)

Utilizator costel93FMI - Dumea Eduard Constantin costel93 Data 13 noiembrie 2012 23:38:57
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>

using namespace std;
FILE *f=fopen("secventa.in","r"), *g=fopen("secventa.out","w");

int v[500001], dq[500001];

int main()
{   
	int maxim=-32000, fin, in, n, k, i, p=1, u=0;
	
	fscanf(f, "%d%d", &n, &k);
	
	for(i=1;i<=n;++i)
	{
		fscanf(f, "%d", &v[i]);
		cout<<v[i]<<" ";
		while(p<=u&&v[i]<=v[dq[u]])
			--u;
		
		dq[++u]=i;
		
		if(i-dq[p]==k)
			++p;
		
		if(i>=k&&v[dq[p]]>maxim)
		{  
			maxim=v[dq[p]];
			in=dq[p-1]+1;
			fin=i;
		}
	}
	fprintf(g, "%d %d %d", in, fin, maxim); 
	return 0;
}