Advertisement
Dmaxiya

挖矿 参考代码

Mar 13th, 2025
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long LL;
  5. const int maxn = 100000 + 100;
  6. int n, m, ans;
  7. int num[maxn];
  8.  
  9. int solve() {
  10.     sort(num, num + n);
  11.     int idx = upper_bound(num, num + n, 0) - num;
  12.     if (idx == 0) {
  13.         return upper_bound(num, num + n, m) - num;
  14.     }
  15.     int ret = 0;
  16.     for (int i = idx - 1; i >= 0; --i) {
  17.         if (-num[i] > m) {
  18.             break;
  19.         }
  20.         int r = upper_bound(num, num + n, m + num[i] * 2) - num;
  21.         if (r > idx) {
  22.             ret = max(ret, r - i);
  23.         } else {
  24.             ret = max(ret, idx - i);
  25.         }
  26.     }
  27.     return ret;
  28. }
  29.  
  30. int main() {
  31. #ifdef ExRoc
  32.     freopen("test.txt", "r", stdin);
  33. #endif
  34.     ios::sync_with_stdio(false);
  35.  
  36.     cin >> n >> m;
  37.     for (int i = 0; i < n; ++i) {
  38.         cin >> num[i];
  39.     }
  40.     ans = solve();
  41.     for (int i = 0; i < n; ++i) {
  42.         num[i] = -num[i];
  43.     }
  44.     ans = max(ans, solve());
  45.     cout << ans << endl;
  46.  
  47.     return 0;
  48. }
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement