|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输入
- 这是洛谷题目P1853的一份代码,请找出它的错误:
- ```cpp
- #include <bits/stdc++.h>
- using namespace std;
- const int MAX = 10000010;
- int s, n, d;
- int A[MAX], B[MAX];
- int F[MAX];
- int DP(){
- int i, j;
-
- memset(F, 0, sizeof(F));
-
- for(i = 1;i <= d;++i){
- for(j = A[i];j <= s;++j){
- F[j] = max(F[j], F[j - A[i]] + B[i]);
- }
- }
-
- return F[s];
- }
- int main() {
- int j;
- int t = 0;
-
- scanf("%d %d %d", &s, &n, &d);
-
- t = s % 1000;
- s /= 1000;
-
- for(j = 1;j <= d;++j){
- scanf("%d %d", &A[MAX], &B[MAX]);
- A[j] /= 1000;
- }
-
- for(j = 1;j <= n;++j){
- t += DP();
- s += t / 1000;
- t %= 1000;
- }
-
- printf("%d", s * 1000 + t);
-
- return 0;
- }
- ```
复制代码
输出
|
|