hdu2578Dating with girls(1)

来源:互联网 发布:乐乎公寓工作怎么样 编辑:程序博客网 时间:2024/06/05 17:40

题目大意:

呵呵。。。。它说输入的是正整数,结果测试数据里面有0.。。。

解题思路:

直接上代码了,其实我是想计算小于等于K/2的。。。。

#include<stdio.h>#include<algorithm>#define N 100010using namespace std;int main(){    int n,i,j,t,ans;    int m,right,left,mid,a[N],cur;    scanf("%d",&t);    while(t--){        scanf("%d %d",&n,&m);        for(i=0;i<n;i++){            scanf("%d",&a[i]);//            if(a[i]==0)  当AC之后看看测试数据到底有没有零//                break;        }        sort(a,a+n);        ans=0;        for(i=0;i<n;i++)        {            cur=m-a[i];            left=0;right=n-1;        if(i==0||a[i]!=a[i-1])            while(left<=right)            {                mid=(left+right)/2;                if(a[mid]==cur){                    ans+=1;                    break;                }                else if(a[mid]<cur)                    left=mid+1;                else                    right=mid-1;            }        }        printf("%d\n",ans);    }}


0 0
原创粉丝点击