本文共 677 字,大约阅读时间需要 2 分钟。
#include #include #include #include #include #include #include #include #include using namespace std;typedef pair P;const int MAXN = 1e5+99;int sum[MAXN], val[MAXN];vector vec;vector res;int N, M, MIN=1e9;int main() { int num; cin >> N >> M; for(int i = 0; i < N;i++) { cin >> num; vec.push_back(num); } sort(vec.begin(), vec.end()); int i = 0, j = N-1; while(i < j) { if(vec[i] + vec[j] == M) { cout << vec[i] << " " << vec[j]; return 0; }else if(vec[i] + vec[j] < M) { i++; }else { j--; } } cout << "No Solution";}
res;int N, M, MIN=1e9;int main() { int num; cin >> N >> M; for(int i = 0; i < N;i++) { cin >> num; vec.push_back(num); } sort(vec.begin(), vec.end()); int i = 0, j = N-1; while(i < j) { if(vec[i] + vec[j] == M) { cout << vec[i] << " " << vec[j]; return 0; }else if(vec[i] + vec[j] < M) { i++; }else { j--; } } cout << "No Solution";}
双指针法的应用
转载于:https://www.cnblogs.com/dcklm/p/10350676.html