Pagini recente » Cod sursa (job #2645719) | Cod sursa (job #2854728) | Cod sursa (job #2305157) | Cod sursa (job #1978252) | Cod sursa (job #243199)
Cod sursa(job #243199)
#include <stdio.h>
int A[500001],q[500001],maxb=-31000,m1,m2;
int main()
{
FILE *in = fopen("secventa.in","r");
FILE *out = fopen("secventa.out","w");
int n,m,p,u,i;
fscanf(in,"%d%d",&n,&m);
for (i=1;i<=n;i++) fscanf(in,"%d",&A[i]);
p=1;
u=0;
for (i=1;i<=n;i++)
{
while (p<u && A[i]<=A[q[u]]) u--;
q[++u] = i;
if (i-m==q[p]) p++;
if (i>m) if (A[q[p]]>maxb) maxb = A[q[p]],m1=q[p],m2=i;
}
fprintf(out,"%d %d %d",m1,m2,maxb);
}