mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-10-17 21:42:25 +00:00
fix: 修复P6003.cpp中的计算逻辑错误并调整P6003cal.cpp的打印顺序
修复P6003.cpp中check函数的计算逻辑,优化循环处理并提前返回结果 调整P6003cal.cpp中变量打印顺序以匹配实际计算流程
This commit is contained in:
parent
1f0526403f
commit
5546dd0eed
@ -13,8 +13,8 @@ int main(){
|
||||
for(ll i=1;i<=k;i++){
|
||||
ll y=(n-g)/x;
|
||||
y=std::max(y,m);
|
||||
g+=y;
|
||||
printf("(n-g)=%lld, y=%lld, x=%lld\n",n-g,y,x);
|
||||
g+=y;
|
||||
}
|
||||
printf("-- x=%lld, g=%lld\n\n",x,g);
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include <algorithm>
|
||||
#include <cstdint>
|
||||
#include <cstdio>
|
||||
#include <iostream>
|
||||
@ -11,9 +12,14 @@ sl bool check(ll x){
|
||||
for(ll i=1;i<=k;i++){
|
||||
ll y=(n-g)/x;
|
||||
if(y<m){
|
||||
y=m;
|
||||
g+=m*(k-i+1);
|
||||
return g>=n;
|
||||
}else{
|
||||
ll nxt = ((n-g)-(y*x))/y+1;
|
||||
nxt=std::min(nxt,k-i+1);
|
||||
g+=y*nxt;
|
||||
i+=nxt-1;
|
||||
}
|
||||
g+=y;
|
||||
}
|
||||
return g>=n;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user