我不知道我的思路是不是错的,但是听说思路错了。
我是这样做的:先把所有的怪兽放入一个桶里面,然后按照等级从小到大遍历每一个怪兽。同时维护一个变量用来记录现在有多少怪兽是没有退出的。
#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.