PAT甲级1048 Find Coins (25 分)

哈希

#include<iostream>
#include<unordered_set>
using namespace std;
int main()
{
    
    
    int n,m;
    cin>>n>>m;
    unordered_set<int> s;
    int v1=1e9,v2;
    for(int i=0;i<n;i++)
    {
    
    
        int x;
        cin>>x;
        int y=m-x;
        if(s.count(y))
        {
    
    
            s.insert(x);
            if(x>y)swap(x,y);
            if(x<v1)v1=x,v2=y;//题目要求是求最小的V1
        }
        else s.insert(x);
    }
    if(v1==1e9)puts("No Solution");
    else cout<<v1<<' '<<v2;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_51928751/article/details/121303052