#include<bits/stdc++.h>
using namespace std;
long long a[10000001];
long long cnt[10000001];
long long n, k;
int main(){
cin >> n >> k;
long long bi;
for (long long i = 0; i < n ; ++i) {
cin >> a[i] >> bi;
cnt[a[i]] += bi;
}
long long maxn = 0;
bool flag = false;
for (long long i = 0; i < n; ++i){
if (cnt[a[i]] > 0 && cnt[a[i] + k] > 0) {
if (k == 0 && cnt[a[i]] < 2) break;
long long pairs_num;
if (cnt[a[i] + k] < cnt[a[i]]) pairs_num = cnt[a[i] + k] ;
else pairs_num = cnt[a[i]];
if (k == 0) {
if (pairs_num * (a[i]) > maxn) maxn = pairs_num * (a[i]);
}
else {
if (pairs_num * (a[i] + a[i] + k) > maxn) maxn = pairs_num * (a[i] + a[i] + k);
}
flag = true;
}
}
if (!flag) cout << "NO" << endl;
else cout << maxn << endl;
}
最后一个点WA了