Pagini recente » Cod sursa (job #1897828) | Cod sursa (job #2032484) | Cod sursa (job #2030811) | Cod sursa (job #1111868) | Cod sursa (job #521505)
Cod sursa(job #521505)
using namespace std;
#include<iostream>
#include<fstream>
int a[500005],dek[500005],N,K,front,back,fi;
ofstream fout("secventa.out");
void solve()
{int i;
int back=0;
int front=1;
a[0]=-32000;
int maxi=0;
for(i=1;i<=N;i++)
{
while(back>=front && a[dek[back]]>a[i]) back--;
back++;
dek[back]=i;
if(i-dek[front]>=K) front++;
if(i>=K)
if(a[maxi]<a[dek[front]])
{
fi=i;
maxi=dek[front];
}
//cout<<dek[front]<<" ";
}
fout<<fi-K+1<<" "<<fi<<" "<<a[maxi]<<"\n";
fout<<"\n";
}
void cit()
{
ifstream fin("secventa.in");
int i;
fin>>N>>K;
for(i=1;i<=N;i++)
{
fin>>a[i];
}
fin.close();
}
int main()
{
cit();
solve();
fout.close();
return 0;
}