每日一题(2020.1.19)找硬币
双指针法
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 100010;
int n,m;
int q[N];
int main(){
cin >> n >> m;
for(int i = 0; i < n; i++) cin >> q[i];
sort(q,q+n);
int i = 0,j = n-1;
while(i < j){
if(q[i] + q[j] > m) j--;
else if(q[i] + q[j] < m) i++;
else{
cout << q[i] << ' ' << q[j] << endl;
break;
}
}
if(i >= j) cout << "No Solution" << endl;
return 0;
}