80pts
查看原帖
80pts
1013950
__youzimo2014__楼主2024/11/4 21:32

我不知道我的思路是不是错的,但是听说思路错了。

我是这样做的:先把所有的怪兽放入一个桶里面,然后按照等级从小到大遍历每一个怪兽。同时维护一个变量用来记录现在有多少怪兽是没有退出的。

#include <iostream> // 别问我为什么不用万能头。
#include <algorithm>
#include <cstring>

using namespace std;

#define MAXN 100000

long long vis[MAXN+5];


int main () {
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		int a;
		cin >> a;
		vis[a]++;
	}
	long long ans = 0;
	for (int i = 2; i <= MAXN; i++) {
		if (vis[i] > ans) {
			ans = vis[i];
		} else {
			ans = vis[i] + (ans-vis[i]);
		}
	}
	cout << ans << endl;
	return 0;
}

如果思路有问题,或者代码有问题,求 hank。thx.

2024/11/4 21:32
加载中...