牛骨文教育服务平台(让学习变的简单)
博文笔记

51nod 1001 数组中和等于K的数对

创建时间:2016-11-03 投稿人: 浏览次数:343
#include <bits/stdc++.h>
using namespace std;

set<long long>st;
long long a[50050];

int main()
{
	long long n,k,i,flag;
	while(cin>>k>>n)
	{
		st.clear();
		for(i=1;i<=n;i++)
		{
			scanf("%lld",&a[i]);
			st.insert(a[i]);
		}
		sort(a+1,a+1+n);
		flag=1;
		for(i=1;i<=n&&a[i]<k/2;i++)
		{
			if(st.find(k-a[i])!=st.end())
			{
				printf("%lld %lld
",a[i],k-a[i]);
				flag=0;
			}
		}
		if(flag)
			printf("No Solution
");
	}
}

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。