mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-12-16 12:13:03 +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++){
|
for(ll i=1;i<=k;i++){
|
||||||
ll y=(n-g)/x;
|
ll y=(n-g)/x;
|
||||||
y=std::max(y,m);
|
y=std::max(y,m);
|
||||||
g+=y;
|
|
||||||
printf("(n-g)=%lld, y=%lld, x=%lld\n",n-g,y,x);
|
printf("(n-g)=%lld, y=%lld, x=%lld\n",n-g,y,x);
|
||||||
|
g+=y;
|
||||||
}
|
}
|
||||||
printf("-- x=%lld, g=%lld\n\n",x,g);
|
printf("-- x=%lld, g=%lld\n\n",x,g);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
#include <algorithm>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@ -11,9 +12,14 @@ sl bool check(ll x){
|
|||||||
for(ll i=1;i<=k;i++){
|
for(ll i=1;i<=k;i++){
|
||||||
ll y=(n-g)/x;
|
ll y=(n-g)/x;
|
||||||
if(y<m){
|
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;
|
return g>=n;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user