疯狂求和-题解

描述

给定m个数和一个数n,问这m个数中是否存在两个数的和等于n。

输入描述

两行,第一行为数n,m,第二行为m个数,每两个数之间用一个空格隔开。

输出描述

若存在,输出那两个数,小的数先输(若有多组数据的和满足,那么输出两个数差最小(差值可以为0)的一组),否则输出“No Answer”(不带引号)。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin >> n >> m;
int in[m];
for(int i = 0;i<m;i++){
cin >> in[i];
}
for(int i = 0;i<m;i++){
for(int j = 0;j<m;j++){
if(i == j){
continue;
}
if(in[i]+in[j] == n){
cout << in[i] << " " << in[j];
return 0;
}
}
}
cout << "No Answer";
}

疯狂求和-题解
https://chenxi-tijie.pages.dev/2025/07/疯狂求和-题解/
作者
chenxi
发布于
2025年7月5日
许可协议