Cod sursa(job #243199)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 12 ianuarie 2009 13:38:46
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#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);
}