using namespace std;
int main()
{
int w[101],u[101],f[100001],i,j,n,m;
cin>>n>>m;
for(i=1;i<=n;i++){cin>>w[i]>>j;u[i]=j-w[i];}
for(i=1;i<=n;i++)
for(j=w[i];j<=m;j++)
if(f[j]<f[j-w[i]]+u[i])f[j]=f[j-w[i]]+u[i];
cout<<f[m];
return 0;
}
状态: Unaccepted
测评机: Xeost[5]
得分: 80分
提交日期: 2012-2-19 11:58:00
有效耗时: 531毫秒
测试结果1: 通过本测试点|有效耗时188ms
测试结果2:
测试结果3: 通过本测试点|有效耗时47ms
测试结果4: 通过本测试点|有效耗时46ms
测试结果5: 通过本测试点|有效耗时47ms
测试结果6: 通过本测试点|有效耗时47ms
测试结果7: 通过本测试点|有效耗时47ms
测试结果8:
测试结果9: 通过本测试点|有效耗时47ms
测试结果10: 通过本测试点|有效耗时62ms
using namespace std;
int main()
{
int w[101],u[101],f[100001],i,j,n,m;
cin>>n>>m;
for(i=1;i<=n;i++){cin>>w[i]>>j;u[i]=j-w[i];}
for(i=1;i<=n;i++)
for(j=w[i];j<=m;j++)
if(f[j]<f[j-w[i]]+u[i])f[j]=f[j-w[i]]+u[i];
j=m;
for(i=1;i<=m;i++)if(f[i]+m-i>j)j=f[i]+m-i;
cout<<j;
return 0;
}