fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define nmax 1000007
  5. long long n;
  6. long long k;
  7. vector<long long> h;
  8. vector<long long> g;
  9. long long answer = 0;
  10. void dfs(long long i, long long sus)
  11. {
  12. if (sus >= k) answer++;
  13. for (int j = i + 1; j < n; j++)
  14. {
  15. if (h[j] >= h[i]) dfs(j, sus + g[j]);
  16. }
  17. }
  18. signed main()
  19. {
  20. cin.tie(0) -> sync_with_stdio(0);
  21. freopen("gdream.inp", "r", stdin);
  22. freopen("gdream.out", "w", stdout);
  23. cin >> n >> k;
  24. h.resize(n);
  25. g.resize(n);
  26. for (long long i = 0; i < n; i++)
  27. {
  28. cin >> h[i] >> g[i];
  29. }
  30. for (long long i = 0; i < n; i++)
  31. {
  32. dfs(i, g[i]);
  33. }
  34. cout << answer << endl;
  35. return 0;
  36. }
Success #stdin #stdout 0s 5292KB
stdin
Standard input is empty
stdout
Standard output is empty