超级题解
2024-06-30 14:19:25
发布于:上海
42阅读
0回复
0点赞
全网首个用了map还用了set的题解
先声明:
set是为了使遍历次数减少,防止TLE
map是为了使桶空间减小,防止MLE
上代码:
#include<iostream>
#include<set>
#include<map>
using namespace std;
const int N=2e5;
int n,c,ans;set<int>s;map<int,int>mapp;
int main(){
cin>>n>>c;
for(int i=0;i<n;i++){
int k;
cin>>k;
s.insert(k);
mapp[k]++;
}
for(set<int>::iterator it=s.begin();it!=s.end();it++){
ans+=mapp[*it+c]*mapp[*it];
}
cout<<ans<<endl;
return 0;
}
这里空空如也
有帮助,赞一个