Guest User

Untitled

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