PAT甲1048 Find Coins (25)(25 分)

#include <string.h>
#include <stdio.h>
#include <algorithm>
#include <vector>
using namespace std;

int N,M;
int harsh[1010];
int A[100010];

int minv=1100;

int main()
{
    scanf("%d%d",&N,&M);
    for(int i=0;i<N;i++)
    {
        int a;
        scanf("%d",&a);
        harsh[a]++;
        A[i]=a;
    }
    bool flag=false;
    for(int i=0;i<N;i++)
    {
        int v1=A[i];
        int v2=M-A[i];
        if(v1!=v2)
        {
            if(harsh[v1]>0&&harsh[v2]>0)
            {
                minv=min(minv,min(v1,v2));
                flag=true;
            }
        }
        else
        {
            if(harsh[v1]>=2)
            {
                minv=min(minv,v1);
                flag=true;
            }
        }
    }
    if(flag)
    {
        printf("%d %d",minv,M-minv);
    }
    else
    {
        printf("No Solution");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/yhy489275918/article/details/81813353