Pagini recente » Cod sursa (job #549285) | Cod sursa (job #1531117) | Cod sursa (job #1097925) | Cod sursa (job #191325) | Cod sursa (job #1388710)
#include<iostream>
#include<fstream>
using namespace std;
int n,k,a[500050],d[500050],ind;
char as[3500050],*q;
void citeste(int &nr)
{
int sgn=0;
nr=0;
while (*q==' ') ++q;
if (*q=='-') sgn=1, ++q;
for (;'0'<=*q && *q<='9';++q)
nr=nr*10+*q-'0';
if (sgn) nr=-nr;
}
int main()
{
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int f=1,b=0,m=-30001;
fin>>n>>k;fin.get();
fin.getline(as,3500050);
q=as;
for(int i=1;i<=n;++i){
citeste(a[i]);
while((f<=b)&&(a[i]<=a[d[b]]))--b;
d[++b]=i;
if(d[f]==i-k)++f;
if(i>=k&&a[d[f]]>m){
m=a[d[f]];
ind=i;
}
}
fout<<ind-k+1<<" "<<ind<<" "<<m;
return 0;
}