HDU2578 Dating with girls(1)(二分)

来源:互联网 发布:我的世界版本 知乎 编辑:程序博客网 时间:2024/06/06 01:11

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2578

#include<stdio.h>#include<algorithm>#define INF 0x3f3f3f3fusing namespace std;int a[100005],n,k;int judge(int l,int r,int x){    while(l<=r)    {        int mid=(l+r)/2;        if(a[mid]+x==k)            return 1;        else        {            if(a[mid]+x>k)                r=mid-1;            else                l=mid+1;        }    }    return 0;}int main(){    int t;    scanf("%d",&t);    while(t--)    {        int ans=0;        scanf("%d%d",&n,&k);        for(int i=1; i<=n; i++)            scanf("%d",&a[i]);        a[0]=-INF;        sort(a,a+n+1);        for(int i=1; i<=n; i++)        {            if(a[i]>k||a[i]==a[i-1])                continue;            if(judge(1,n,a[i]))//从a[1]到a[n]中查找与a[i]相加符合条件的。                ans++;        }        printf("%d\n",ans);    }    return 0;}


2 0
原创粉丝点击