欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心,排序,洛谷,java)

程序员文章站 2022-03-24 20:48:03
...

洛谷链接:https://www.luogu.com.cn/problem/P1208

P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心,排序,洛谷,java)
P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心,排序,洛谷,java)

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
class Main{

	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n=in.nextInt();
		int m=in.nextInt();
		int[] a=new int[5001];
		int[] a2=new int[5001];
		int[] b=new int[5001];
		int sum=0;
		
		for(int i=1;i<=m;i++) {
			a[i]=in.nextInt();
			b[i]=in.nextInt();
			a2[i]=a[i];
		}
        Arrays.sort(a2,1,m+1);
        
        //暴力从最小的开始买
        for(int i=1;i<=m;i++) {
        	for(int j=1;j<=m;j++) {
        		if(a2[i]==a[j]) {
        			if(b[j]<=n) {
        				n-=b[j];
        				sum+=a[j]*b[j];
        				a[j]=-1;
        			}else if(n!=0 && n<b[j]) {
        				sum+=n*a[j];
        				n=0;
        				break;
        			}
        		}
        	}
        	if(n==0) break;
        }
        System.out.println(sum);
	}
}

相关标签: 算法题