[USACO22DEC] Cow College B
题目描述
Farmer John 计划为奶牛们新开办一所大学!
有 N ( 1 ≤ N ≤ 1 0 5 ) N(1 \le N \le 10^5) N(1≤N≤105) 头奶牛可能会入学。每头奶牛最多愿意支付 c i c_i ci 的学费 ( 1 ≤ c i ≤ 1 0 6 ) (1 \le c_i \le 10^6) (1≤ci≤106)。 Farmer John 可以设定所有奶牛入学需要支付的学费。如果这笔学费大于一头奶牛愿意支付的最高金额,那么这头奶牛就不会入学。Farmer John 想赚尽可能多的钱,从而可以给他的讲师提供一笔可观的工资。请求出他能赚到的钱的数量,以及此时应当收取多少学费。
输入格式
输入的第一行包含 N N N。
第二行包含 N N N 个整数 c 1 , c 2 , ⋯ , c N c_1,c_2, \cdots,c_N c1,c2,⋯,cN,其中 c i c_i ci 是奶牛 i i i 愿意支付的最高学费金额。
输出格式
输出 Farmer John 可以赚到的最大金额以及最优情况下他应该收取的学费。如果有多个解,输出收取学费最小的解。
注意这个问题涉及到的整数可能需要使用 64 位整数型(例如,Java 中的 “long”,C/C++ 中的 “long long”)。
样例 #1
样例输入 #1
4
1 6 4 6
样例输出 #1
12 4
提示
样例 1 解释
如果 Farmer John 收费 4 4 4,那么 3 3 3 头奶牛将会入学,从而使他赚取 3 × 4 = 12 3 \times 4=12 3×4=12 的金额。
测试点性质
- 测试点 2 − 4 2-4 2−4 满足 c i ≤ 1000 c_i \le 1000 ci≤1000。
- 测试点 5 − 8 5-8 5−8 满足 N ≤ 5000 N \le 5000 N≤5000。
- 测试点 9 − 12 9-12 9−12 没有额外限制。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容