Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- /**
- * Created by krngrvr09 on 30/1/15.
- */
- public class Optimum {
- public static int main(String[] srga){
- Scanner scanner = new Scanner(System.in);
- ArrayList<SingleInput> inputs = new ArrayList<SingleInput>();
- int number_of_inputs = scanner.nextInt();
- int[] ps = new int[number_of_inputs];
- Arrays.fill(ps, -1);
- System.out.println(number_of_inputs);
- for(int i=0;i<number_of_inputs;i++){
- int start = scanner.nextInt();
- int end = scanner.nextInt();
- int weight = scanner.nextInt();
- inputs.add(new SingleInput(start,end,weight));
- }
- inputs.sort(new Comparator<SingleInput>() {
- @Override
- public int compare(SingleInput o1, SingleInput o2) {
- if(o1.end>=o2.end){
- return 1;
- }
- else{
- return -1;
- }
- }
- });
- print_inputs(inputs);
- for(int i=0;i<inputs.size();i++){
- for(int j=0;j<i;j++){
- System.out.println(inputs.get(i).start+"><"+inputs.get(j).end);
- if(inputs.get(i).start>=inputs.get(j).end){
- ps[i] = j;
- }
- }
- }
- print_ps(ps);
- System.out.println("result is: "+compute_opt(number_of_inputs-1,inputs,ps));
- return 0;
- }
- public static void print_ps(int[] ps){
- for(int i=0;i<ps.length; i++) {
- System.out.print(ps[i]+" ");
- }
- }
- public static void print_inputs(ArrayList<SingleInput> inputs){
- for(int i=0;i<inputs.size();i++){
- SingleInput single_input = inputs.get(i);
- System.out.println(single_input.start+" "+single_input.end+" "+single_input.weight);
- }
- }
- public static int compute_opt(int j, ArrayList<SingleInput> inputs, int[] ps){
- if(j==0){
- return 0;
- }
- else{
- return max(inputs.get(j).weight+compute_opt(ps[j], inputs, ps),compute_opt(j-1,inputs,ps));
- }
- }
- public static int max(int i, int j){
- if(i>=j){
- return i;
- }
- else{
- return j;
- }
- }
- }
- class SingleInput{
- int start;
- int end;
- int weight;
- public SingleInput(int start, int end, int weight) {
- this.start = start;
- this.end = end;
- this.weight = weight;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement