记录编号 |
321672 |
评测结果 |
AAAAA |
题目名称 |
[NOIP 2001PJ]装箱问题 |
最终得分 |
100 |
用户昵称 |
H_Lost |
是否通过 |
通过 |
代码语言 |
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);
}