Pagini recente » Cod sursa (job #523742) | Cod sursa (job #2645302) | Cod sursa (job #1206070) | Cod sursa (job #878945) | Cod sursa (job #20405)
Cod sursa(job #20405)
#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;
}