请撤下第二篇题解 @Jason_Lee 的:(或请本人修改
在完整代码的枚举答案部分循环如下:
for(int i=0;i<=vn;i++){//这里错了
if(f[i]>=vn){
cout<<c-i<<endl;
return 0;
}
}
但是 fi 表示的是体力还剩下 i 时能搬运的最大体积,因此枚举错误。正确枚举应该为:
for(int i=0;i<=c;i++){//这里错了
if(f[i]>=vn){
cout<<c-i<<endl;
return 0;
}
}
然后我在AC了本题后用ta的代码交了一下试试,发现过了(更改 前 后 都过了)
Hack 数据:
输入:
2 1 10
2 6
输出:
4
题解输出:
Impossible