本文主要是介绍L2-2 三足鼎立,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
L2-2 三足鼎立
Time limit:400ms
Memory limit:64MB
通过两边之和大于第三边,可以找出这些这些所有国家中,符合条件的对数,排序再二分查找就可以过了,注意要避免重复。
ac代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,p,sum;
int x[200005];
signed main(){cin>>n>>p;for(int i = 1;i <= n;++i)cin>>x[i];sort(x + 1,x + n + 1);for(int i = 1;i <= n;++i){int l = upper_bound(x + i + 1,x + n + 1,fabs(p - x[i])) - x - 1;int r = lower_bound(x + i + 1,x + n + 1,p + x[i]) - x - 1;sum += (r - l);}cout<<sum;return 0;
}
这篇关于L2-2 三足鼎立的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!