Cod sursa(job #945234)

Utilizator mitrutstrutMitrea Andrei Ionut mitrutstrut Data 1 mai 2013 10:47:57
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include <vector>
using namespace std;
 
int main()
{
    ifstream fin("secv.in");
    ofstream fout("secv.out");
     
    int n, i, j, k, v[5001], s[5001], aux[5001], min = 5001, aux_size;
 
     
    //Read
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>v[i];
        s[i] = v[i];
    }
     
 
    //Compute
    sort(s+1,s+n+1);
    aux[1] = s[1];
    aux_size = 1;
    for(i=2; i<=n; i++)
        if(s[i] != s[i-1])
            aux[++aux_size] = s[i];
    for(i=1; i<=n; i++)
        if(v[i] == aux[1])
        {
            k = 0; 
            for(j=i; j<=n; j++)
            {
                if(v[j] == aux[k+1])
                    k++;
                if(k == n)
                    if(j-i+1 <= min)
                        min = j-i+1;
            }
                 
        }
         
     
 
    //Print
    if(min == 5001)
        fout<<-1;
    else
        fout<<min;
}