1 条题解
-
1
#include<bits/stdc++.h> using namespace std; const int inff = 1e6; long long n, c, b[inff], ans; int finddd(long long x) { int l = 0, r = n + 1, mid; while (l + 1 < r) { mid = (l + r) / 2; if (b[mid] < x) { l = mid; } else r = mid; } return l; } int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> b[i]; } cin >> c; sort(b + 1, b + 1 + n); //cout<<findd(3); for (int i = 1; i <= n; i++) { long long a = c - b[i]; //cout<<finddd(a)+1<<endl; if(b[finddd(a)+1]==a){ cout<<min(b[i],a)<<" "<<max(b[i],a)<<endl; return 0; } //cout<<finddd(a)-findd(a)+1<<endl; } cout<<"No"<<endl; //cout << ans << endl; return 0; }
信息
- ID
- 3277
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 4
- 已通过
- 1
- 上传者