Problem A: 第一次,第二次,成交!
Description
因为奶牛们的节食运动给 FJ 余下了一大批干草无法处理,所以他准备要开一个拍卖会去出售他的干草。
他有 批干草。他的客户有 个,都是和他一样的农夫。第 名农夫会告诉 FJ 他会为 FJ 的每批干草付 的钱。每个农夫都想买(也只想买)FJ 的一批草料。
为了确保农夫们不会互相嫉妒,所以 FJ 决定要以一个固定的价格出售他的草料。每一个出价大于等于 FJ 的要价的农夫将会买到草料。
请你帮助 FJ 找出能让他卖出最多的钱的最低的单批草料的售价。
#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
int a[N], jiage, zongjia = 0, n, m;
int cmp(int a, int b) { // 从大到小排序的函数
return a > b;
}
int main() {
cin >> n >> m ;
for (int i = 1; i <= m; i++) // for 循环:读入 m 个客户的报价 a[i]
cin >> a[i] ;
sort(a + 1, a + m + 1, cmp); // 用 sort 对 a 数组【从大到小排序】,加上 cmp 函数
for ( ; ; ) { // for 循环:从 1 到 m
// sum 是当定价为 a[i] 元,可以卖出的总价。注意卖出不能超过 n 个
if( ) { // 如果 sum 大于等于 zongjia
// jiage 的值赋值为 a[i]
// zongjia 的值赋值为 sum
}
}
// 输出 jiage 和 zongjia
return 0 ;
}
Input
第一行:两个被空格隔开的整数, 和 。
第二行到第 行:第 行只包含一个整数:。
对于 的数据,,。Output
Sample Input Copy
5 4
2
8
10
7
Sample Output Copy
7 21
HINT
FJ 有 批草料, 个农夫想要购买。他们出价分别为:每批草料为 ,, 和 。
FJ 应该把价格设定为 ,这样会有 个农夫会付钱买草料,FJ 自己会挣到 的钱。