Pagini recente » Cod sursa (job #2192794) | Cod sursa (job #2483396) | Cod sursa (job #2923079) | Cod sursa (job #1118451) | Cod sursa (job #2999447)
#include <iostream>
#include <fstream>
using namespace std;
int a[500001],q[500001];
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int main()
{
int n,k,i,pq=0,uq=-1,mx=-1000000000,i1,i2;
fin>>n>>k;
for(i=1;i<k;i++)
{
fin>>a[i];
while(pq<=uq && a[i]<=a[q[uq]])uq--;
q[++uq]=i;
}
for(i=k;i<=n;i++)
{
fin>>a[i];
while(pq<=uq && a[i]<=a[q[uq]])uq--;
q[++uq]=i;
if(q[pq]==i-k)pq++;
if(a[q[pq]]>mx)
{
mx=a[q[pq]];
i1=q[pq];
i2=i1+k-1;
}
}
fout<<i1<<" "<<i2<<" "<<mx;
return 0;
}