#include<bits/stdc++.h>
using namespace std;
int n,m,a[5005];
bool k=false;
int main(){
scanf("%d",n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
cin>>m;
sort(a+1,a+1+n);
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(a[i]+a[j]==m){
printf("%d ",a[i]);
printf("%d",a[j]);
k=true;
return 0;
}
}
}
printf("No");
return 0;
}
题目:
给出若干个整数,询问其中是否有一对数的和等于给定的数。
输入格式:
共三行: 第一行是整数 n ,表示有 n 个整数。 第二行是 n 个整数 ai。 第三行是一个整数 m ,表示需要得到的和。
输出格式:若存在和为 m 的数对,输出两个整数,小的在前,大的在后,中间用单个空格隔开。若有多个数对满足条件,选择数对中较小的数更小的。若找不到符合要求的数对,输出一行 No ;