Cod sursa(job #278389)

Utilizator MciprianMMciprianM MciprianM Data 12 martie 2009 11:59:30
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
#include<algorithm>
#define MAXN 5001
using namespace std;
int a[MAXN], b[MAXN], c[MAXN];
int main(){
    int i, j, k=1, m=1, n, difm=10000, dif;
    ifstream f("secv.in");
    f>>n;
    for(i=1;i<=n;i++){
      f>>a[i];
      b[i]=a[i];
    }
    f.close();
    sort(b+1, b+n+1);
    c[1]=b[1];
    for(i=2;i<=n;i++)
      if(b[i]!=b[i-1])
        c[++m]=b[i];
    for(i=1;i<=n;i++){
      if(a[i]==c[1]){
        for(j=i,k=1;k<=m&&j<=n;j++)
          if(a[j]==c[k]){
            k++;
            if(k>m){
              dif=j-i+1;
              if(difm>dif)
                difm=dif;
            }
          }
       }
    }
    ofstream g("secv.out");
    if(difm!=10000)
      g<<difm<<'\n';
    else g<<"-1\n";
    g.close();
	return 0;
}