为啥我只有80分,我检查到天衣无缝的了,谁帮帮我!!攒RP啦!

错误是在最后的两个数据!

下面是错误的程序,希望哪位大牛可以帮帮我,!!小弟不胜感激!!

#include

#include

using namespace std;

long a[101],v;

bool f[15001];

long g[15001];

int main()

{

long i,pp, pan = 0, n,ni,j;

scanf("%d", &n);

for(pp = 1; pp > a[i];

if( a[i] == -1)

break;

v += a[i];

}

memset(f,0,sizeof(f));

f[0] = 1;

for( ni = 1; ni < i ; ni++)

for(j = v; j >= a[ni]; j--)

{

if(j-a[ni] = a[i]; j-- )

if( f[j] == 1 ){

g[j] += 1;

if( g[j] == n && j > pan){

pan = j;

break;}

}

}

cout

2 条评论

  • 1

信息

ID
1059
难度
6
分类
动态规划 | 背包 点击显示
标签
(无)
递交数
7828
已通过
2342
通过率
30%
被复制
19
上传者