fork download
  1. /*
  2. * <|--- <<_||_>> ---|>
  3. * <--- >>-\\-<< --->
  4. * <|--- <<_||_>> ---|>
  5. */
  6. #include <bits/stdc++.h>
  7. #include <ext/pb_ds/assoc_container.hpp>
  8. #include <ext/pb_ds/tree_policy.hpp>
  9.  
  10. using namespace std;
  11. using namespace __gnu_pbds;
  12.  
  13. typedef tree<int, null_type, less<int>, rb_tree_tag,
  14. tree_order_statistics_node_update> ordered_set;
  15.  
  16. #define el '\n'
  17. #define int long long
  18. const int mod = 1000000000 + 7;
  19.  
  20. void solve() {
  21. int n, k, m;
  22. cin >> n >> k >> m;
  23.  
  24. vector<int> powers;
  25. for (int i = 0; i < n; ++i) {
  26. int p, w;
  27. cin >> p >> w;
  28. if (w <= k) {
  29. powers.push_back(p);
  30. }
  31. }
  32.  
  33. sort(powers.begin(), powers.end());
  34.  
  35. int teams = 0;
  36. int left = 0, right = (int) powers.size() - 1;
  37. while (left < right) {
  38. if (powers[left] + powers[right] >= m) {
  39. teams++;
  40. left++;
  41. right--;
  42. } else {
  43. left++;
  44. }
  45. }
  46.  
  47. cout << teams << el;
  48. }
  49.  
  50. int32_t main() {
  51. ios_base::sync_with_stdio(false);
  52. cout.tie(nullptr), cin.tie(nullptr);
  53.  
  54. int tt = 1;
  55. //cin >> tt;
  56. while (tt--) {
  57. solve();
  58. }
  59. return 0;
  60. }
  61.  
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
0