给定n个数和一个数m,问这n个数中是否存在两个数的和等于m。
输入
两行,第一行为数n,m,第二行为n个数,每两个数之间用一个空格隔开。
输出
若存在,输出那两个数,小的数先输(若有多组输出两个数差最小(可以为0)的一组),否则输出“No Answer”(不带引号)。
输入样例
(1) 3 2 (2) 5 5
1 2 1 2 3 4 5
输出样例
(1)1 2
(2)2 3
初级版本 时间会长一点
#includeusing namespace std; int main(){ int n,m,a[20],b[20],c[20],d[20],k=0; cin>>m>>n; for(int i=0;i >a[i]; for(int i=0;i c[i]){ if(b[i]-c[i] 升级版本 运行时间比初级的短一些 效果是一样的
#includeusing namespace std; int main(){ int n,m,a[20],b[20],c[20],d[20],k=0; cin>>m>>n; int min=100000000,x,y; for(int i=0;i >a[i]; for(int i=0;i a[j]){ if(a[i]-a[j]



