java只WA了#2
查看原帖
java只WA了#2
1215022
sentiment_楼主2024/2/26 21:53
import java.util.Arrays;
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int num=scan.nextInt();
        double rongliang=scan.nextInt();
        double a[]=new double [num];
        double b[]=new double [num];
        double c[]=new double [num];
        
        for(int i=0;i<num;i++) {
        	a[i]=scan.nextInt();
        	b[i]=scan.nextInt();
        	c[i]=b[i]/a[i];
        }
        
        double x=0;
        for(int i=0;i<num;i++) {
        	for(int j=i;j<num-1;j++) {
        		if(c[num-j-1]>c[num-j-2]) {
        			
        			x=c[num-j-1];
        			c[num-j-1]=c[num-j-2];
        			c[num-j-2]=x;
        			
        			x=a[num-j-1];
        			a[num-j-1]=a[num-j-2];
        			a[num-j-2]=x;
        			
        			x=b[num-j-1];
        			b[num-j-1]=b[num-j-2];
        			b[num-j-2]=x;
        			
        		}
        	}
        }
        
        int y=0;double result=0;
        while(rongliang>0) {        	
        	while(a[y]>0) {
        		if(rongliang>a[y]) {
        			rongliang-=a[y];
        			result+=b[y];
        			y++;
        			if(y==num) {
        				rongliang=0;
        				break;
        			}
        		}else if(rongliang==a[y]){
        			rongliang-=a[y];
        			result+=b[y];
        			break;
        		}else {
        			result+=rongliang*(b[y]/a[y]);
        			rongliang=0;
        			a[y]=0;
        		}
        	}
        }
        
        System.out.println(String.format("%.2f",result));
    }

}
2024/2/26 21:53
加载中...