Pagini recente » Cod sursa (job #1188326) | Cod sursa (job #2401508) | Cod sursa (job #2186790) | Cod sursa (job #1385849) | Cod sursa (job #3156019)
#include<bits/stdc++.h>
using namespace std;
ifstream F("secventa.in");
ofstream G("secventa.out");
int n,i,r[500001],p=1,u=1,k,a,m,j=1;
short v[500001],w,s=-30001;
char t[3500001];
int main()
{
for(F>>n>>k>>t[0],F.getline(t,3500001),m=strlen(t)-1;i<m;++i)
if(t[i]>='0'&&t[i]<='9') {
v[j]=v[j]*10+t[i]-48;
if(t[i+1]==' ')
v[j]*=w;
} else if(t[i]=='-')
w=-1;
else
w=1,++j;
for(i=1;i<=n;++i) {
for(;p<=u&&r[p]<=i-k&&v[r[p]]<=v[r[p+1]];++p);
for(;p<=u&&v[i]<=v[r[u]];--u);
r[++u]=i;
if(i>=k&&v[r[p]]>s)
s=v[r[p]],a=i-k+1,j=i;
}
G<<a<<" "<<j<<" "<<s;
return 0;
}