这是一道很明显的双指针
#include <bits/stdc++.h>
using namespace std;
int a[100005],n,m;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+n+1);//保持单调性
for(int i=1,j=n;i<j;i++)//i,j前后扫
{
while(a[i]+a[j]>m)j--;
if(i<j&&a[i]+a[j]==m)
{
cout<<a[i]<<' '<<a[j]<<endl;
return 0;
}
}
puts("No Solution");//无解
}