nlogn 双指针算法
另外 n 是哈希表做法,自己从来没想过可以这么用 留意y总的这个代码
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int a[N];
int n,m;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+1+n);
int bj=n;
for(int i=1;i<=n;i++)
{
while(bj>i&&a[i]+a[bj]>m)bj--;
if(bj==i)
{
cout<<"No Solution"<<endl;
return 0;
}
if(a[i]+a[bj]==m)
{
cout<<a[i]<<" "<<a[bj]<<endl;
return 0;
}
}
}