@[Weizhuo_Zhao](/user/681558) 你这……全是问题啊……
by Ifyoung @ 2023-08-23 22:24:07
@[Weizhuo_Zhao](/user/681558)
知道为什么这道题是普及-吗,那是因为数组开$1.5$*$1000000000$会爆,所以要用 map 数组。
```cpp
#include<bits/stdc++.h>
using namespace std;
map<long long,long long>a;
long long n,x,zd=0;
int main()
{
cin>>n;
for(long long i=1;i<=n;i++){
cin>>x;
if(!a.count(x))zd++;
a[x]++;
}
for(auto i=a.begin();i!=a.end();i++){
cout<<i->first<<' '<<i->second<<endl;
}
return 0;
}
```
map 是用多少开多少,但是 ```if(!a.count(x))zd++;``` 不能改成 ```if(!a[x])zd++;``` ,不然会凭空开出 a[x] ,长此以往也会爆
by WCX6936 @ 2023-10-06 12:45:56