1048 Find Coins (25分)
分析 :找自信,乱模拟
code :
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1002;
int vis[maxn],a[maxn*1000];
int main()
{
    int n,m,x=5000,y=0;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    sort(a+1,a+1+n);
    int flag=0;
    for(int i=1;i<=n;i++) {
        if(m>a[i]&&vis[m-a[i]]) {
            flag=1;
            if(m-a[i]<x) x=m-a[i],y=a[i];
            if(a[i]<x) x=a[i],y=m-a[i];
            if(x>y) swap(x,y);
        }
        vis[a[i]]=1;
    }
    if(flag) printf("%d %d",x,y);
    else printf("No Solution");
    return 0;
}