Pagini recente » Cod sursa (job #991078) | Cod sursa (job #2062339) | Cod sursa (job #2248103) | Cod sursa (job #875551) | Cod sursa (job #1525796)
#include <iostream>
#include <cstdio>
using namespace std;
#include <vector>
int i,k,nr,a,n,mx,p;
vector <int> val,poz;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%i %i",&n,&k);
scanf("%i",&a);
val.push_back(-40000);
poz.push_back(-40000);
val.push_back(a);
poz.push_back(1);
nr=1;
for (i=2;i<=n;i++)
{
scanf("%i",&a);
p=0;
while (poz[nr]+k>=i&&val[nr]>a)
{
p=poz[nr];
val.pop_back();
poz.pop_back();
nr--;
}
if (p!=0)
{
nr++;
val.push_back(a);
poz.push_back(p);
}
val.push_back(a);
poz.push_back(i);
nr++;
}
mx=-40000;
for (i=1;i<=nr;i++)
{
if (val[i]>mx&&poz[i]<=n-k+1)
{
mx=val[i];
p=poz[i];
}
}
// for (i=1;i<=nr;i++)
// cout<<val[i]<<" "<<poz[i]<<'\n';
cout<<p<<" "<<p+k-1<<" "<<mx;
}