Cod sursa(job #246567)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 21 ianuarie 2009 09:11:20
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <stdio.h>

int A[500001],q[500001];

int main()
{
FILE *in = fopen("secventa.in","r");
FILE *out = fopen("secventa.out","w");

int m,n,p,u,i;

fscanf(in,"%d%d",&n,&m);
for (i=1;i<=n;i++) fscanf(in,"%d",&A[i]);

u=0;
p=1;
int S = -30001,p1,p2;

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 (S<A[q[p]]) S = A[q[p]],p1=q[p];
}
fprintf(out,"%d %d %d",p1,p1+m-1,S);
}