网站链接: element-ui dtcms
当前位置: 首页 > 技术博文  > 技术博文

洛谷——P2637 第一次,第二次,成交!(java实现)

2021/5/11 6:56:31 人评论

题目描述 因为奶牛们的节食运动给 FJ 余下了一大批干草无法处理,所以他准备要开一个拍卖会去出售他的干草。 他有 nn 批干草(每批大约 100100 捆)。他的客户有 mm 个,都是和他相邻的农夫。第 ii 名农夫会告诉 FJ 他会为 FJ 的每批…

题目描述
因为奶牛们的节食运动给 FJ 余下了一大批干草无法处理,所以他准备要开一个拍卖会去出售他的干草。

他有 nn 批干草(每批大约 100100 捆)。他的客户有 mm 个,都是和他相邻的农夫。第 ii 名农夫会告诉 FJ 他会为 FJ 的每批干草付 p_ip
i

的钱。每个农夫都想买(也只想买)FJ 的一批草料。

为了确保农夫们不会互相嫉妒,所以 FJ 决定要以一个固定的价格出售他的草料。每一个出价比 FJ 的要价要高的农夫将会买到草料,余下的将会被拒绝购买。

请你帮助 FJ 找出能让他赚到最多的钱的最低的单批草料的售价。

输入格式
第一行:两个被空格隔开的整数,nn 和 mm。

第二行到第 m+1m+1 行:第 i+1i+1 行只包含一个整数:p_ip
i

输出格式
共一行,包含由空格隔开的两个整数:FJ 能出的每批草料的最低价格,以及他能赚到的最多的钱。

输入输出样例
输入 #1复制
5 4
2
8
10
7
输出 #1复制
7 21
说明/提示
FJ 有 55 批草料,44 个农夫想要购买。他们出价分别为:每批草料为 22,88,1010 和 77。

FJ 应该把价格设定为 77,这样会有 33 个农夫会付钱买草料,FJ 自己会挣到 2121 的钱。

import java.util.*;          // P2637 第一次,第二次,成交!
public class Main {
   public static void main(String[] args) {
    Scanner rd=new Scanner(System.in);
    int a=rd.nextInt();
    int m=rd.nextInt();
    int []arr=new int[m];
    int danjia=0;
    int sum=0;
    for(int i=0;i<m;i++) {
    	arr[i]=rd.nextInt();
    }
    Arrays.sort(arr);
    for(int i=0;i<arr.length;i++) {
    	int max=arr[i]*m;
    	if(max>sum) {
    		sum=max;
    		danjia=arr[i];
    	}
    	m--;
    }
    System.out.println(danjia+" "+sum);
}
}

作者:KJ.JK
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star 呀,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习呀

相关资讯

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?