Guest User

Untitled

a guest
Jul 19th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #include <climits>
  5. using namespace std;
  6. int a[1000],c[1000],n;
  7. int process(int mask,int prev)
  8. {
  9. int i,tmp,j,ans,sum;
  10. ans=INT_MAX;
  11. for(i=0;i<n;i++)
  12. {
  13. if((mask&(1<<i))>0)
  14. continue;
  15. tmp=(mask|(1<<i));
  16. sum=process(tmp,a[i]);
  17. sum+=(abs(a[i]-prev))*c[i];
  18. ans=min(ans,sum);
  19. }
  20. if(ans==INT_MAX)
  21. return 0;
  22. return ans;
  23. }
  24. int main()
  25. {
  26. int t,i,j,x,ans;
  27. //freopen("example.txt","r",stdin);
  28. scanf("%d",&t);
  29. while(t--)
  30. {
  31. scanf("%d",&n);
  32. for(i=0;i<n;i++)
  33. scanf("%d",&a[i]);
  34. for(i=0;i<n;i++)
  35. scanf("%d",&c[i]);
  36. ans=INT_MAX;
  37. for(i=0;i<n;i++)
  38. {
  39. x=process((1<<i),a[i]);
  40. ans=min(ans,x);
  41. }
  42. cout<<ans<<endl;
  43. }
  44. return 0;
  45. }
Add Comment
Please, Sign In to add comment