Pagini recente » Cod sursa (job #563191) | Cod sursa (job #1200122) | Cod sursa (job #371903) | Cod sursa (job #2546823) | Cod sursa (job #779222)
Cod sursa(job #779222)
#include<fstream>
using namespace std;
int i,N,K,size,c,begin,end,maxim,poz,nrc;
int s[500001],v[500001];
char buff[50];
int get_number()
{int nrn=0;
while(buff[nrc]<='9' && buff[nrc]>='0')
{nrn=10*nrn+buff[nrc]-'0';
nrc++;}
return nrn;
}
int main()
{freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
gets(buff);
nrc=0;
N=get_number();
nrc++;
K=get_number();
gets(buff);
nrc=0;
for(i=1; i<=N; i++)
{v[i]=get_number(); nrc++;
while(v[s[end]]>v[i] && end>=begin)
end--;
end++;
s[end]=i;
if(s[begin]<=i-K)
begin++;
if(i>=K && v[s[begin]]>maxim)
{maxim=v[s[begin]];
poz=i;}
}
printf("%d %d %d",poz-K+1,poz,maxim);
return 0;}