Pagini recente » Cod sursa (job #2378850) | Cod sursa (job #371387) | Cod sursa (job #2060947) | Cod sursa (job #2376110) | Cod sursa (job #1181176)
#include <cstdio>
#include <deque>
#define lmax 5000000
using namespace std;
deque <int> d;
char buf[lmax];
int main()
{ freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
int n,k,i,x=0,y,j=0,sol=-100000000;
scanf("%d %d\n",&n,&k);
int v[n];
fgets(buf,lmax,stdin);
y=k;
for(i=1;i<=n;i++)
{
v[i]=0;
while(buf[j]!=' ' && buf[j]!='\n') v[i]=v[i]*10+buf[j]-'0',j++;
j++;
while(!d.empty()&&v[i]<=v[d.back()]) d.pop_back();
d.push_back(i);
if(d.front()==i-k) d.pop_front();
if(v[d.front()]>sol&&i>=k)
{
sol=v[d.front()];
x=i-k+1;
y=i;
}
}
printf("%d %d %d\n",x,y,sol);
}