Cod sursa(job #55209)

Utilizator DjSefuWrong name DjSefu Data 26 aprilie 2007 19:28:55
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>
FILE *f=fopen("secv.in","r"),
     *g=fopen("secv.out","w");
long long a[5001],n,i,j,k,ok,b[5001],n2,o;
char c[5001];
int main()
{ fscanf(f,"%d",&n);k=2000000001;n2=n;
  for(i=1;i<=n;i++) { fscanf(f,"%lld",&a[i]);b[i]=a[i];
  					  if(a[i]<k) k=a[i];
					}
  for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if(b[j]<b[i]){ ok=b[j];
  													  b[j]=b[i];
													  b[i]=ok;}
  									    else if(b[j]==b[i]&&b[j]<2000000001) { b[j]=2000000001;
																--n2;}
  for(i=1;i<=n&&o<n2;i++) if(a[i]==k){ ok=1;j=i;o=1;
  								 while(j<n&&o<n2) { if(a[j]==b[o]) c[o]=1,++o;
                                                    j++;
                                                  }
                               }
  if(o==n2) fprintf(g,"%lld\n",j-i+2);
  else fprintf(g,"-1\n");
  fclose(f);
  fclose(g);
  return 0;
}