input:8151287241115
output:411
input:714187241115
output:
No Solution
input:314177
output:77
ac代码
#include<iostream>
using namespace std;int a[1001];intmain(){int n, m, v, maxv;scanf("%d %d",&n,&m);for(int i =0; i < n; i++){scanf("%d",&v);
a[v]++;
maxv =max(maxv,v);}// i值大于m,无解for(int i =0; i <=min(m,maxv); i++){if(a[i]){
a[i]--;if(a[m-i]){printf("%d %d", i, m - i);return0;}}}printf("No Solution");return0;}
学习代码
#include<iostream>
using namespace std;int a[1001];intmain(){int n, m, temp;scanf("%d %d",&n,&m);for(int i =0; i < n; i++){scanf("%d",&temp);
a[temp]++;}for(int i =0; i <1001; i++){if(a[i]){
a[i]--;if(m > i && a[m-i]){printf("%d %d", i, m - i);return0;}
a[i]++;}}printf("No Solution");return0;}