1 条题解
-
1
根据题意进行二分查找即可。
参考代码(C++):
#include <bits/stdc++.h> using namespace std; #define debug(x) cerr << #x" = " << x << " "; #define dbged cerr << "\n"; using ll = long long; using ull = unsigned long long; using PII = pair<int, int>; signed main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; vector<int> a(n + 1); for (int i = 1; i <= n; i++) { cin >> a[i]; } int t; cin >> t; while (t--) { double p, q; int l, r, y; cin >> p >> q >> l >> r >> y; int lo = l - 1, hi = r + 1; while (lo + 1 < hi) { int mid = lo + ((hi - lo) >> 1); int res = p * a[mid] + q; if (res <= y) { lo = mid; } else { hi = mid; } } if (lo < l) { cout << "-1\n"; } else { cout << lo << "\n"; } } return 0; }
- 1
信息
- ID
- 173
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 77
- 已通过
- 14
- 上传者