| 记录编号 | 321672 | 评测结果 | AAAAA | ||
|---|---|---|---|---|---|
| 题目名称 | 1089.[NOIP 2001PJ]装箱问题 | 最终得分 | 100 | ||
| 用户昵称 | 是否通过 | 通过 | |||
| 代码语言 | C | 运行时间 | 0.006 s | ||
| 提交时间 | 2016-10-13 21:01:35 | 内存使用 | 0.36 MiB | ||
#include <stdio.h>
#include <stdlib.h>
#define NUM 20010
int dp[NUM];
int n,v;
FILE *f,*g;
int max(int a,int b){return (a>b)?a:b;}
int main(){
int i,j,a;
f=fopen("npack.in","r");
g=fopen("npack.out","w");
fscanf(f,"%d\n%d",&v,&n);
for(i=1;i<=n;i++){
fscanf(f,"%d",&a);
if(a>v)continue;
for(j=v;j>=a;j--){
dp[j]=max(dp[j],dp[j-a]+a);
}
}
fprintf(g,"%d",v-dp[v]);
fclose(f);
fclose(g);
}