fork download
  1. #include<stdio.h>
  2. int w[510],fl[510],st[510],ord[510];
  3. int main()
  4. {
  5. int i,j,k=0,n,t,tt,m,sm=0,l;
  6. w[0]=0;
  7. scanf("%d%d",&n,&m);
  8. for(i=1;i<=n;i++)
  9. scanf("%d",&w[i]);
  10.  
  11. for(i=0;i<m;i++)
  12. {
  13. scanf("%d",&ord[i]);
  14.  
  15. if(fl[ord[i]]==0)
  16. st[k++]=ord[i];
  17. fl[ord[i]]=1;
  18. }
  19. /*if(n==500)
  20.   {
  21.   for(i=0;i<10;i++)
  22.   cout<<ord[i]<<" ";
  23.   cout<<"\n";
  24.   }*/
  25. for(i=0;i<m;i++)
  26. {
  27. j=0;
  28.  
  29. while(j<k&&ord[i]!=st[j])
  30. {
  31. sm+=w[st[j]];
  32. j++;
  33. }
  34. for(t=j;t>0;t--)
  35. st[t]=st[t-1];
  36. st[0]=ord[i];
  37.  
  38. }
  39.  
  40. printf("%d\n",sm);
  41. return 0;
  42. }
Success #stdin #stdout 0s 2260KB
stdin
Standard input is empty
stdout
0