编程练习-2022-06-04-Andy
2022-06-04 本文已影响0人
nase_luobeng
题目描述
你是学校编程队的教练员,队里共n名选手,第i人的智商为x[i]。现在你要派两个选手组队去参加宇宙编程大赛,要求这两个人的智商总和不低于m,请问你有多少种选择?
输入输出格式
输入格式
输入文件为team.in
第一行为正整数n和m。n<=200000,m<=1000
第二行为n个整数代表每人的智商x[i],均在0到500之间
输出格式
输出文件为team.out
输出一个整数
样例数据
输入数据
3 300
160 150 140
输出数据
2
标签
AC代码
#include <bits/stdc++.h>
using namespace std;
int main(){
freopen("team.in","r",stdin);
freopen("team.out","w",stdout);
long long n,m,x[210000];
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>x[i];
sort(x,x+1+n);
long long i=1,j=n,ans=0;
while(i<j){
while(i<j&&x[i]+x[j]<m){
i++;
}
ans+=j-i;
j--;
}
cout<<ans<<endl;
return 0;
}