Cod sursa(job #20405)

Utilizator nicucelviteazniculcioiu andrei nicucelviteaz Data 21 februarie 2007 14:23:23
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<values.h>
#include<fstream.h>
ifstream f("secventa.in");
ofstream g("secventa.out");
long n,k,i,st,dr,rez,poz,a[50000],q[50000];
int main()
{f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
rez=MAXLONG;
st=1;
dr=0;
for(i=1;i<=k-1;i++)
{
while(dr>=st&&a[i]<=a[q[dr]])
dr--;
dr++;
q[dr]=i;
}
for(i=k;i<=n;i++)
{
while(st<=dr&&a[i]<=a[q[dr]])
dr--;
dr++;
q[dr]=i;
while(st<=dr&&q[st]<i-k+1)
st++;
if(a[q[st]]>rez)
{
rez=a[q[st]];
poz=i;
}
}
g<<poz-k+1<<' '<<poz<<' '<<rez;
f.close();
g.close();
return 0;
}