这里一定得是大于,因为在背包更新的过程中,对于不合法的状态会存在从上次合法的状态转移,然后本来不合法的值就是 0x3f3f3f3f 但是由于转移了,这个值会 +1 仍旧不合法,因此得是 ≥。
if(mn>=0x3f3f3f3f)
if(ans==0x3f3f3f3f){
for(int i=1;i<=n;i++){
int mn=2e9;
for(int j=low[i];j<=up[i]+1;j++){
mn=min(f[i][j],mn);
}
if(mn>=0x3f3f3f3f) break;
if(flag[i]) cnt++;
}
putchar('0'),putchar('\n');
write(cnt);
}