Pagini recente » Cod sursa (job #1730821) | Cod sursa (job #1510989) | Cod sursa (job #1698561) | Cod sursa (job #1235504) | Cod sursa (job #779224)
Cod sursa(job #779224)
#include<fstream>
#include<cstring>
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;
int ngv=1;
if(buff[nrc]=='-')
{ngv=-1; nrc++;}
while(buff[nrc]<='9' && buff[nrc]>='0')
{nrn=10*nrn+buff[nrc]-'0';
nrc++;}
nrn=nrn*ngv;
return nrn;
}
int main()
{ifstream f("secventa2.in");
ofstream g("secventa.out");
f.getline(buff,50);
nrc=0;
N=get_number();
nrc++;
K=get_number();
f.getline(buff,50);
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;}
}
g<<poz-K+1<<" "<<poz<<" "<<maxim;
return 0;}