Cod sursa(job #63433)

Utilizator chermanCorina Herman cherman Data 28 mai 2007 17:33:42
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <cstdio>
#include <stdlib.h>

FILE *in = fopen("secventa.in","r"), *out = fopen("secventa.out","w");
typedef struct
{
    int val;
    int poz;
} temp;

    int n,k,*a;
    temp *b;
    int nr=0;

int main()
{
    fscanf(in, "%d", &n);
    fscanf(in, "%d", &k);

    a= (int *) malloc(n*sizeof(int));
    b= (temp *) malloc(n*sizeof(temp));
    for ( int i = 0; i < n; ++i )
    {
        fscanf(in, "%d", &a[i]);
//        if (i<k)
//        {
//           b[nr].val=a[i];
//           b[nr++].poz=i;
//
//        }
    }

//  printf("\n**\n");
//  for (int j=0;j<nr;j++)
//   printf("%d %d\n",b[j].val,b[j].poz);
//  printf("\n**\n");

  int inc=0;
  int min=0;
  for ( int i =0; i < n; ++i )
   {
           b[nr].val=a[i];
           b[nr++].poz=i;
           if (a[i]>b[min].val)
           {
               inc++;
               min=i;
           }

       if(i-b[inc].poz>k-1) inc++;
    }
  printf("%d %d %d",b[inc].poz+1,b[inc+k-1].poz+1,b[inc].val);
  fprintf(out,"%d %d %d",b[inc].poz+1,b[inc+k-1].poz+1,b[inc].val);

   return 0;

}