90分求助!
#include<stdio.h>
long long df[10000005];
long long max(int a,int b)
{
if(a>=b) return a;
else return b;
}
int main()
{
int T,M;
scanf("%d%d",&T,&M);
int time[M+1],value[M+1];
for(int i=1;i<=M;i++) scanf("%d%d",&time[i],&value[i]);
for(int i=1;i<=M;i++)
{
for(int j=time[i];j<=T;j++)
{
df[j]=max(df[j-time[i]]+value[i],df[j]);
}
}
printf("%lld",df[T]);
return 0;
}
第十个测试点过不去……