Cod sursa(job #1573590)

Utilizator mateicosCostescu Matei mateicos Data 19 ianuarie 2016 20:05:10
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#include <algorithm>

using namespace std;

int v[5000],  s[5000];

int main(){

    freopen("secv.in", "r", stdin);
    freopen("secv.out", "w", stdout);
    int n, i, m, j, min, k;
    scanf("%d", &n);
    m=0;
    for(i=0;i<n;i++){
      scanf("%d", &v[i]);
      j=0;
      while(j<m && s[j]!=v[i]){
        j++;
      }
      if(j>=m){
        s[m]=v[i];
        m++;
      }
    }
    sort(s, s+m);
    i=n-1;
    min=2000000;
    while(i>=0){
      if(v[i]==s[0]){
        j=i+1;
        k=1;
        while(j<n && k <m){
          if(s[k]==v[j]){
            k++;
          }
          j++;
        }
        if(k==m){
          min=j-i;
        }
      }
      i--;
    }
    if(min<=5000)
      printf("%d", min);
    else
      printf("-1");
    return 0;
}