H Bsq AK ZUCCPC

https://ac.nowcoder.com/acm/contest/9934/H

题解说是用贪心,然后我没用?
AK和爆0算范围都是一样的,总人数-做对的人数=做错的人数。
首先算最大值,这个比较简单,就是数组中的最小值。
然后再算最小值,这个可以想成不同种的天气,例如1-3下雨,2-4下雪,只有重合的2-3才会既下雪又下雨,也就是说2-3才是有用的部分,其他的部分你再来任何天气也实现不了全下(全不下)。所以方法就是对数组遍历一遍,从第二个开始,如果和小于总人数,就说明放得下(可以做到不重叠),大于总人数的话我们就只留下重合的部分,其余的丢掉,也就是和-总人数,然后继续…
感觉这样做还挺神奇的?

#include 
using namespace std;
long long a[10001], b[100001];
const int N = 1e9 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部