fork download
  1. import java.util.*;
  2. import java.lang.*;
  3.  
  4. class Main
  5. {
  6. public static void main(String[] args) {
  7. // int n = 4 , m = 6;
  8. Integer[] costVer = {2, 1, 3, 1, 4}; // m - 1
  9. Integer[] costHor = {4, 1, 2}; // n - 1
  10.  
  11. Arrays.sort(costHor,Collections.reverseOrder());
  12. Arrays.sort(costVer,Collections.reverseOrder());
  13.  
  14. int h = 0, v = 0;
  15. int hp = 1, vp = 1;
  16. int cost = 0;
  17. while(v < costVer.length && h < costHor.length){
  18. if(costVer[v] < costHor[h]){ // h cost
  19. cost += (costHor[h] * vp);
  20. hp++;
  21. h++;
  22. }else{ // v cost
  23. cost += (costVer[v] * hp);
  24. vp++;
  25. v++;
  26. }
  27. }
  28.  
  29. // remaining hor cost
  30. while(h < costHor.length){
  31. cost += (costHor[h] * vp);
  32. hp++;
  33. h++;
  34. }
  35. // remaining ver cost
  36. while(v < costVer.length){
  37. cost += (costVer[v] * hp);
  38. vp++;
  39. v++;
  40. }
  41. // return cost;
  42. System.out.println("min cost of cuts : " + cost);
  43. }
  44. }
Success #stdin #stdout 0.14s 53680KB
stdin
Standard input is empty
stdout
min cost of cuts : 42