显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define N 200001
using namespace std;
ll n,a,b,d[N],ni,ans;
map<ll,ll> m;
vector<int> v;
int main(){
freopen("Compatible.in","r",stdin);
freopen("Compatible.out","w",stdout);
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
cin>>ni>>d[i];
m[d[i]]=ni;
}
sort(d+1,d+n+1);
for(int i=1;i<=n;i++){
ll aa=a-d[i],bb=b-d[i];
if(m[bb]>0&&bb>=0){
if(bb==d[i]){
ans+=m[bb]/2;
m[bb]%=2;
}else{
ll minn=min(m[d[i]],m[bb]);
ans+=minn;
m[d[i]]-=minn;
m[bb]-=minn;
}
}
if(m[aa]>0&&aa>=0){
if(aa==d[i]){
ans+=m[aa]/2;
m[aa]%=2;
}else{
ll minn=min(m[d[i]],m[aa]);
ans+=minn;
m[d[i]]-=minn;
m[aa]-=minn;
}
}
}
cout<<ans<<endl;
return 0;
}