dalao们可以帮忙看看本蒟蒻这题解哪里犯了 LaTeX 公式/英文/数字与汉字之间应加空格 的问题吗
题目
我找了 6 天了还没找到......
这道题用纯暴力做法就可以轻松AC,不过需要一些小技巧。
**思路**
首先需要说明的是,这道题用普通的数组是不能做到的,因为数组不可能开 $10^9$ 长度。因为涉及到“出现了几次”,因此考虑用 $\texttt{map}$ 存储。
在读入的同时求最大值,这个非常容易,不过求最小值要记住先判断 $m$ 是否大于 $n$ 。假如这样处理,就可以提前输出 $0$ ,避免了 TLE 这一点需要特别注意,本蒟蒻就是因为忽略了这一点而喜提多次 TLE 。
假如并非如此,则就可以遍历 $\texttt{map}$ 取最值,这时显然 $1 \le m \le 2 \times 10^{5}$ ,不会超时。
**code**
```cpp
#include<bits/stdc++.h>
#define MAXN 200005
using namespace std;
int n,m,maxn=-INT_MAX,minn=INT_MAX;
map<int,int>mp;
int main(){
cin>>n>>m;
for(int i=1,tmp;i<=n;i++){
cin>>tmp,mp[tmp]++;
maxn=max(maxn,mp[tmp]);
}
if(m>n)cout<<0<<' ';
else{
for(int i=1;i<=m;i++)
minn=min(minn,mp[i]);
cout<<minn<<' ';
}
cout<<maxn;
return 0;
}
违规紫衫