Pagini recente » Cod sursa (job #2163179) | Istoria paginii runda/preoni-2009-runda1/clasament | Borderou de evaluare (job #1702007) | Cod sursa (job #2539188) | Cod sursa (job #167023)
Cod sursa(job #167023)
#include<fstream.h>
#include<iostream.h>
#include<stdlib.h>
#define NMAX 500001
fstream fin("secventa.in",ios::in),fout("secventa.out",ios::out);
long n,k,v[NMAX],m[NMAX],i=0; char s[10];
main()
{
fin>>n>>k; fin.get();
while( fin.get(s,8,' ') ) { fin.get(); v[++i]=atof(s); }
long beg=1,end=0,max=-66666,poz=0;
for(i=1;i<=n;i++)
{
if(beg<=end && m[beg]==i-k) beg++;
while(beg<=end && v[ m[end] ] > v[i] ) end--;
m[++end]=i;
if(i>=k && v[ m[beg] ] > max ) {poz=i; max = v[ m[beg] ];}
}
cout<<poz-k+1<<" "<<poz<<" "<<max;
cout<<endl; return 0;
}