Advertisement
Guest User

Untitled

a guest
Jan 30th, 2015
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. /**
  4. * Created by krngrvr09 on 30/1/15.
  5. */
  6. public class Optimum {
  7.  
  8. public static int main(String[] srga){
  9. Scanner scanner = new Scanner(System.in);
  10. ArrayList<SingleInput> inputs = new ArrayList<SingleInput>();
  11. int number_of_inputs = scanner.nextInt();
  12. int[] ps = new int[number_of_inputs];
  13. Arrays.fill(ps, -1);
  14. System.out.println(number_of_inputs);
  15. for(int i=0;i<number_of_inputs;i++){
  16. int start = scanner.nextInt();
  17. int end = scanner.nextInt();
  18. int weight = scanner.nextInt();
  19. inputs.add(new SingleInput(start,end,weight));
  20. }
  21. inputs.sort(new Comparator<SingleInput>() {
  22. @Override
  23. public int compare(SingleInput o1, SingleInput o2) {
  24. if(o1.end>=o2.end){
  25. return 1;
  26. }
  27. else{
  28. return -1;
  29. }
  30. }
  31. });
  32.  
  33. print_inputs(inputs);
  34. for(int i=0;i<inputs.size();i++){
  35. for(int j=0;j<i;j++){
  36. System.out.println(inputs.get(i).start+"><"+inputs.get(j).end);
  37. if(inputs.get(i).start>=inputs.get(j).end){
  38. ps[i] = j;
  39. }
  40. }
  41. }
  42. print_ps(ps);
  43. System.out.println("result is: "+compute_opt(number_of_inputs-1,inputs,ps));
  44. return 0;
  45.  
  46. }
  47. public static void print_ps(int[] ps){
  48. for(int i=0;i<ps.length; i++) {
  49. System.out.print(ps[i]+" ");
  50. }
  51. }
  52. public static void print_inputs(ArrayList<SingleInput> inputs){
  53. for(int i=0;i<inputs.size();i++){
  54. SingleInput single_input = inputs.get(i);
  55. System.out.println(single_input.start+" "+single_input.end+" "+single_input.weight);
  56. }
  57.  
  58. }
  59.  
  60. public static int compute_opt(int j, ArrayList<SingleInput> inputs, int[] ps){
  61. if(j==0){
  62. return 0;
  63. }
  64. else{
  65. return max(inputs.get(j).weight+compute_opt(ps[j], inputs, ps),compute_opt(j-1,inputs,ps));
  66. }
  67. }
  68.  
  69. public static int max(int i, int j){
  70. if(i>=j){
  71. return i;
  72. }
  73. else{
  74. return j;
  75. }
  76. }
  77.  
  78.  
  79. }
  80. class SingleInput{
  81. int start;
  82. int end;
  83. int weight;
  84. public SingleInput(int start, int end, int weight) {
  85. this.start = start;
  86. this.end = end;
  87. this.weight = weight;
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement