给定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
初级版本 时间会长一点
#include
using 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;ic[i]){
if(b[i]-c[i]
升级版本 运行时间比初级的短一些 效果是一样的
#include
using 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;ia[j]){
if(a[i]-a[j]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)