天天看點

JAVA排序算法之将CMP寫入Node

題目連結.

import java.util.*;
import java.math.*;
 
public class Main{
    public static class node implements Comparable{
        int a,b;
        public node(int a,int b) {
            this.a=a;
            this.b=b;
        }
        public int compareTo(Object c){
            node s=(node)c;
            return (a*s.b+b)-(s.a*b+s.b);
        }
    }
    public static void main(String args[]) {
        Scanner sc=new Scanner(System.in);
        int n;
        n=sc.nextInt();
        BigInteger ans=sc.nextBigInteger();
        node[] a=new node[20];
        for(int i=0;i<n;i++) {
            a[i]=new node(sc.nextInt(),sc.nextInt());
        }
        Arrays.sort(a,0,n);
        /*for(int i=0;i<n;i++) {
            System.out.println(a[i].a+" "+a[i].b);
        }*/
        for(int i=0;i<n;i++) {
            ans=ans.multiply(BigInteger.valueOf(a[i].a));
            ans=ans.add(BigInteger.valueOf(a[i].b));
        }
        System.out.println(ans);
    }
}