A1048

时间:2024-11-03 18:37:44

给n个正整数,再给一个m,如果n个数中存在a+b=m(a<=b),则输出a,b。

如果有两组以上,则输出a最小的一组。

 #include<cstdio>
#include<algorithm>
using namespace std;
const int N=;
int hashTable[N];
int main(){
int n,m,a;
scanf("%d %d",&n,&m);
for(int i=;i<n;i++){
scanf("%d",&a);
++hashTable[a];
}
for(int i=;i<N;i++){
if(hashTable[i]&&hashTable[m-i]){
if(i==m-i&&hashTable[i]<=){
continue;
}
printf("%d %d\n",i, m-i);
return ;
}
}
printf("No Solution\n");
return ;
}

相关文章