#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=100010;
int main()
{
int n,m,a[maxn],i,j;
cin>>n>>m;
for (i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort (a,a+n);
i=0,j=n-1;
while (i<j)
{
if(a[i]+a[j]==m)break;
else if (a[i]+a[j]<m)i++;
else j--;
}
if (i<j)
printf("%d %d",a[i],a[j]);
else
printf("No Solution");
}
A1048 Find Coins (25) Two points
最新推荐文章于 2024-07-31 17:49:42 发布
本文介绍了一种解决两数之和问题的高效算法。通过使用C++编程语言,我们实现了快速查找两个数,使它们的和等于特定目标值。算法首先对数组进行排序,然后使用双指针技巧从两端逼近,直到找到符合条件的两个数或确定无解。这种算法的时间复杂度为O(n log n),提供了一个实用且高效的解决方案。
1403

被折叠的 条评论
为什么被折叠?



