吴钰晗 2011-12-12 04:25:00
点我顶贴
收藏
删除
可怜的波特
我有一个点一直超时啊!各位帮帮忙把
#include<iostream>
#include<stdio.h>
using namespace std;
int a[10001][10001];
int main()
{int w[10001],c[10001],t,m,i,j;
scanf("%d %d",&t,&m);
for(i=1;i<=m;i++)
scanf("%d %d",&w[i],&c[i]);
for(i=0;i<=m;i++)
a[i][0]=0;
for(i=1;i<=t;i++)
a[0][i]=0;
for(i=1;i<=m;i++)
for(j=1;j<=t;j++)
if(w[i]<=j)
{if(a[i-1][j]>a[i-1][j-w[i]]+c[i])
a[i][j]=a[i-1][j];
else
a[i][j]=a[i-1][j-w[i]]+c[i];
}
else
a[i][j]=a[i-1][j];
printf("%d",a[m][t]);
//system("pause");
return 0;
}
怎么优化一下?