Cod sursa(job #131163)

Utilizator katakunaCazacu Alexandru katakuna Data 3 februarie 2008 12:34:29
Problema NextSeq Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include<stdio.h>
int j3,t[10001],n,m,p,i,v[10001],ok,j,putere,N,M,j2,nr;


int main(){

FILE *f=fopen("nextseq.in","r");
fscanf(f,"%d %d %d",&n,&m,&p);

  for(i=1;i<=n;i++){
  fscanf(f,"%d",&v[i]);
  }

ok=1;

 while(ok){
 ok=0;

   for(i=1;i<n;i++){
     if(v[i]>v[i+1]){
     ok=1;
     j=v[i];
     v[i]=v[i+1];
     v[i+1]=j;
     }
   }


 }

  for(i=1;i<=n;i++){
  t[v[i]]=i-1;;
  }

  putere=1;
   for(i=1;i<=m;i++){
   fscanf(f,"%d",&v[i]);
   }

    for(i=m;i>=1;i--){
    j=v[i];
    M+=t[j]*putere;
    putere*=n;
    }

   nr+=(putere-M-1);
   j2=putere;

   putere=1;
   for(i=1;i<=p;i++){
   fscanf(f,"%d",&v[i]);
   }

    for(i=p;i>=1;i--){
    j=v[i];
    N+=t[j]*putere;
    putere*=n;
    }

   nr+=N;


  putere=j2;

    for(i=m+1;i<=p-1;i++){
    putere*=n;
    nr+=putere;
    }


fclose(f);

 FILE *g=fopen("nextseq.out","w");
 fprintf(g,"%d",nr);
 fclose(g);

return 0;
}