题意 :
- 给n个物品的价格,有k元,以及购买物品价格的范围,问最多能买几个物品
思路 :
- 直接贪心
#include#include #include #include #include #define endl 'n' using namespace std; using ll = long long; const int N = 110; int a[N]; void solve() { int n, l, r, k; cin >> n >> l >> r >> k; for (int i = 1; i <= n; i ++ ) cin >> a[i]; sort(a + 1, a + n + 1); ll sum = 0, res = 0; for (int i = 1; i <= n; i ++ ) if (a[i] >= l && a[i] <= r) if (sum + a[i] <= k) sum += a[i], res ++ ; else break; cout << res << endl; } int main() { cin.tie(nullptr) -> sync_with_stdio(false); int _; cin >> _; while (_ -- ) solve(); return 0; }



