Pagini recente » Cod sursa (job #325947) | Cod sursa (job #1043797) | Cod sursa (job #236037) | Cod sursa (job #682928) | Cod sursa (job #2369581)
#include <bits/stdc++.h>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
deque<pair<int,int>> q;
int n,k,x,y,s,Max=-40000,f,l,a[500100],ok,m,p;
char v[501100];
int main()
{
in>>n>>k;
in.get();
in.getline(v,500100);
int i=0;
p=strlen(v);
while(i<p)
{
if(v[i]=='-') ok=1,i++;
else if(v[i]>='0'&&v[i]<='9')
{
int nr=0;
m++;
while(v[i]>='0'&&v[i]<='9') nr=nr*10+v[i]-'0',i++;
if(ok==1) nr=-nr,ok=0;
if(!q.empty()&&q.front().second<m-k+1) q.pop_front();
while(!q.empty()&&nr<=q.back().first) q.pop_back();
q.push_back({nr,m});
if(m>=k&&q.front().first>Max) Max=q.front().first,f=m-k+1,l=m;
}
else i++;
}
out<<f<<" "<<l<<" "<<Max;
return 0;
}