Cod sursa(job #861395)

Utilizator tibi9876Marin Tiberiu tibi9876 Data 21 ianuarie 2013 14:17:46
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream> 
#include<cstdio>
using namespace std;   
int a[500001],c[500001],mx,i,n,x,p,u,k;
int main() 
{     
	//ifstream f("secventa.in");
	//ofstream g("secventa.out");
	freopen("secventa.in","r",stdin);
	freopen("secventa.out","w",stdout);
	scanf("%d%d",&n,&k);
	for (i=1;i<=n;i++)
		scanf("%d",&a[i]);
	p=1;u=0;mx=-30001;
	for (i=1;i<=n;i++)
		{         
			while ((u>=p) && (a[i]<c[u]))             
				u--;         
			c[++u]=a[i];         
			if (i>=k)         
			{             
				if ((i>k) && (a[i-k]==c[p]))
					p++;
				if (c[p]>mx)
					{
						mx=c[p];
						x=i;
					}
				}
			}
	printf("%d %d %d",x-k+1,x,mx);
	return 0;
}