Pagini recente » Cod sursa (job #1394191) | Cod sursa (job #1249225) | Cod sursa (job #592252) | Cod sursa (job #2143511) | Cod sursa (job #1506993)
#include <fstream>
#include <iostream>
#include <climits>
using namespace std;
int n,k,i,a[5000000],dek[5000000],li,ls,baza=-INT_MAX;
int main()
{ ifstream in("secventa.in");
ofstream out("secventa.out");
in>>n>>k;
for(i=1; i<=n; i++)
in>>a[i];
int prim=1,ultim=0;
for(i=1; i<=n; i++)
{while(a[i]<=a[dek[ultim]] && prim<=ultim)
ultim--;
ultim++;
dek[ultim]=i;
if(dek[prim]<=i-k)
prim++;
if(i>=k)
if(a[dek[prim]]>baza)
{baza=a[dek[prim]];
li=i-k+1;
ls=i;}
else
if(dek[prim]==baza && prim<li)
{li=i-k+1;
ls=i;}
}
out<<li<<' '<<ls<<' '<<baza;
return 0;
}