Pagini recente » Cod sursa (job #481969) | Cod sursa (job #2313082) | Cod sursa (job #2795298) | Cod sursa (job #811789) | Cod sursa (job #2033756)
#include <cstdio>
#include <deque>
#define N 5000005
using namespace std;
int n, k, a[N], nr;
int maxi=-30000, pim, psm;
deque <int> d;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d %d\n",&n, &k);
for(int i=0;i<n;i++)
scanf("%d ",&a[i]);
for(int i=0;i<k-1;i++)
{
while(!d.empty() && a[d.back()]>a[i])
d.pop_back();
d.push_back(i);
}
for(int i=k-1;i<n;i++)
{
while(!d.empty() && a[d.back()]>a[i])
d.pop_back();
d.push_back(i);
if(d.front()==i-k)
d.pop_front();
if(a[d.front()]>maxi)
{
maxi=a[d.front()];
pim=d.front()+1;
psm=d.back()+1;
}
}
printf("%d %d %d", pim, psm, maxi);
return 0;
}