PAT 1048
来源:互联网 发布:淘宝我是商家怎么激活 编辑:程序博客网 时间:2024/04/28 23:59
#include<cstdio>#include<stdlib.h>#include<cstring>using namespace std;int num[1005]={0};int face_value;bool flag=false;int main(){int n,m;scanf("%d%d",&n,&m);for(int i=0;i<n;i++){scanf("%d",&face_value);num[face_value]++;}for(int i=0;i<1005;i++){if(num[i]&&num[m-i]){if(i==m-i&&num[i]<=1){continue;}printf("%d %d\n",i,m-i);return 0;}}printf("No Solution\n");system("pause");return 0;}
//二分法#include<cstdio>#include<algorithm>#include<stdlib.h>#include<cstring>using namespace std;int bin(int a[],int left,int right,int x){while(left<=right){int mid=(left+right)/2;if(a[mid]>x){right=mid-1;}else if(a[mid]<x){left=mid+1;}else{return 1;}}return -1;}int a[100010];int main(){int n,m;scanf("%d%d",&n,&m);for(int i=0;i<n;i++){scanf("%d",&a[i]);}sort(a,a+n);for(int i=0;i<n;i++){int j=bin(a,i+1,n-1,m-a[i]);if(j!=-1){printf("%d %d",a[i],m-a[i]);system("pause");return 0;}}printf("No Solution");system("pause");return 0;}
//two pointers#include<cstdio>#include<algorithm>#include<stdlib.h>#include<cstring>using namespace std;int a[100010];int main(){int n,m;scanf("%d%d",&n,&m);for(int i=0;i<n;i++){scanf("%d",&a[i]);}sort(a,a+n);int i=0;int j=n-1;while(i<j){if(a[i]+a[j]==m){printf("%d %d",a[i],m-a[i]);system("pause");return 0;}else if(a[i]+a[j]>m){j--;}else i++;}printf("No Solution");system("pause");return 0;}
0 0
- PAT 1048
- pat 1048
- pat 1048
- pat 1048
- PAT 1048
- PAT(甲级)1048
- PAT乙级1048
- PAT甲级1048
- pat-bl-1048
- PAT.1048 数字加密
- PAT 1048数字加密
- PAT basic 1048
- 浙大PAT甲级-1048
- pat
- 【PAT】
- PAT
- PAT
- PAT
- 移动端布局
- Lucene
- 读书笔记《微服务一》
- Initial trainset(with all classes)
- 求二叉树的先序遍历 sdut 1489
- PAT 1048
- 修改虚拟机linux硬盘的大小
- ceshi
- Android搭建WEB Server—boa(二)
- revit中绘制任意直线
- Overload 和 Override 的区别。Overloaded 的方法是否可 以改变返回值的类型?
- Hamming Distance
- LCT——模板整理
- CSU 1505 酷酷的单词 【水题】