1048. Find Coins (25)

来源:互联网 发布:通关宝典软件下载 编辑:程序博客网 时间:2024/06/05 17:27

题目:https://www.patest.cn/contests/pat-a-practise/1048

//1048. Find Coins (25)//二分的方法不对#include<cstdio>#include<algorithm>using namespace std;int N=0,M=0,num[100010]={0};//寻找第一个num[y]+x大于M的数的下标int find(int low, int high, int key){  int mid;  while(low<=high)  {    mid = (low+high)/2;    if(num[mid] == key)    {      return mid;    }    else if(num[mid]>key)      high = mid - 1;    else      low = mid + 1;  }  return -1;}int main(){    int temp;  scanf("%d%d",&N,&M);  for(int i=0; i<N; i++)    scanf("%d",&num[i]);  sort(num, num+N);  for(int i=0; i<N; i++)  {    temp = find(i+1,N-1,M-num[i]);    if(temp!=-1)    {      printf("%d %d",num[i],num[temp]);      return 0;    }  }  printf("No Solution");  return 0;}


0 0
原创粉丝点击