为什么会部分RE

P2918 [USACO08NOV] Buying Hay S

``` #include <bits/stdc++.h> using namespace std; const int N = 55010; int h, n; int a[101], b[101], f[N]; int main() { cin >> h >> n; for (int i = 1; i <= h; i++) cin >> a[i] >> b[i]; for (int i = 1; i <= h; i++) for (int j = b[i]; j <= n+5000; j++) f[j] = max(f[j], f[j - b[i]] + a[i]); sort(b,b+h); int t = b[0]; while (f[t] < n) t++; cout << t; return 0; } ``` 懂了 这个状态的含义是在不少于j的时候最大的磅数,排列之后取最便宜的开始找最便宜的(符合)才不会报错hah
by SuAnRan @ 2022-12-03 00:49:27


|