Pagini recente » Cod sursa (job #1979330) | Cod sursa (job #1264295) | Cod sursa (job #1858485) | Cod sursa (job #1281219) | Cod sursa (job #712008)
Cod sursa(job #712008)
# include <fstream>
# define NN 500005
using namespace std;
int n, v[NN], inceput, sfarsit, bazamax=-NN, k;
void deque()
{
int dq[NN], st, dr,i;
st=dr=1;
dq[st]=1;
for(i=2;i<k;++i)
{
//while(v[dq[dr]]>=v[i] && dr>=st)--dr;
dq[++dr]=i;
}
for(i=k;i<=n;++i)
{
while (v[dq[dr]]>=v[i] && dr>=st)--dr;
dq[++dr]=i;
if (v[dq[st]]>bazamax)
bazamax=v[dq[st]], inceput=i-k+1, sfarsit=i;
if (dq[st]<i-k+2)
++st;
}
}
int main ()
{
ifstream fin ("secventa.in");
fin>>n>>k;
for (int i=1;i<=n;i++)
fin>>v[i];
deque();
FILE *fout=fopen("secventa.out","w");
fprintf(fout,"%d %d %d",inceput,sfarsit,bazamax);
return 0;
}