解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define max(a,b) a>b?a:b
int main(){
int *ly,t,m,value,time,i;
scanf("%d %d",&t,&m);
ly=(int*)malloc(sizeof(int)*(t+1));
memset(ly,0,sizeof(int)*(t+1));
for( i=0; i<m; i++){
scanf("%d %d",&time,&value);
for( int j=t; j>=time; j--){
ly[j]=max(ly[j],ly[j-time]+value);
}
}
printf("%d",ly[t]);
return 0;
}
0.0分
0 人评分