Cod sursa(job #291701)

Utilizator klamathixMihai Calancea klamathix Data 30 martie 2009 10:52:27
Problema Secv Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.36 kb
#include<stdio.h>
//#include<algorithm>
#include<vector>
#include<stdlib.h>

#define MAXN 5001

int i, j, k ,maxs, N ,v[MAXN], aux[MAXN], distincte[MAXN], mark, maxlength, start, mins;

int main()
{
    FILE*in=fopen("secv.in","r");
    FILE*out=fopen("secv.out","w");
    
    fscanf(in,"%d",&N);
    
    for( i = 1 ; i <= N ; i ++)
    {
         fscanf(in,"%d",&v[i]);
         aux[i] = v[i];
         if(v[i] > maxs) maxs = v[i];
    }
    
    sort(aux+1 , aux + N +1);
    
    distincte[0] = -1;
    
    for( i = N ; i >= 1; i--)
    {
         if(aux[i] != distincte[k])
         distincte[++k] = aux[i];
    }
    
    for( i = N ; i >= 1 ; i--)
    {
         if(v[i] == maxs)
         {
                 start = i;
                 maxlength = k;
                 
                 for( j = start ; j >=1 ; j--)
                 {
                      if(v[i] == distincte[k-1])
                      {
                              k--;
                              if( k == 0)
                              {
                                  if( i - j + 1 < mins) mins = i - j +1;
                                  j = 0 ;
                              }
                      }
                 }
         }
    }
    
    fprintf(out,"%d\n",mins);
    
    
    return 0;
}