ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#190971 | #3391. 四舍五入 | gaojieming | 100 | 0ms | 1232kb | C++11 | 848b | 2023-10-07 19:30:16 | 2023-10-07 21:43:10 |
answer
#include<bits/stdc++.h>
#define ll long long
#define il inline
#define pn putchar('\n')
#define maxint 2147483647
#define min(x,y) (x<y?x:y)
#define max(x,y) (x>y?x:y)
#define int ll
using namespace std;
int n,k;
double l,r=1e18,mid,ans;
il bool ksm(double x,int y)
{
if(x<=0.5)return 0;
if(x<1.5)return n==1;
int ret=1;
long double t;
for(int i=1;i<=y;i++)
{
t=x*ret;
if(t>n)return 1;
if(t-(int)t<0.5)ret=t;
else ret=t+1;
}
return ret>=n;
}
signed main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif
scanf("%lld%lld",&n,&k);
while(l<=r)
{
mid=(l+r)/2;
if(ksm(mid,k))
r=mid-1e-10,ans=mid;
else
l=mid+1e-10;
}
printf("%.12lf\n",ans);
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1228kb
input:
1 1
output:
0.500000000088
result:
ok found '0.5000000', expected '0.5000000', error '0.0000000'
Test #2:
score: 10
Accepted
time: 0ms
memory: 1232kb
input:
100000 1
output:
99999.500000000000
result:
ok found '99999.5000000', expected '99999.5000000', error '0.0000000'
Test #3:
score: 10
Accepted
time: 0ms
memory: 1232kb
input:
666 1
output:
665.500000000065
result:
ok found '665.5000000', expected '665.5000000', error '0.0000000'
Test #4:
score: 10
Accepted
time: 0ms
memory: 1232kb
input:
131072 2
output:
362.075966850844
result:
ok found '362.0759669', expected '362.0759669', error '0.0000000'
Test #5:
score: 10
Accepted
time: 0ms
memory: 1228kb
input:
1024 2
output:
31.984375000087
result:
ok found '31.9843750', expected '31.9843750', error '0.0000000'
Test #6:
score: 10
Accepted
time: 0ms
memory: 1228kb
input:
100031331 2
output:
10001.500000000018
result:
ok found '10001.5000000', expected '10001.5000000', error '0.0000000'
Test #7:
score: 10
Accepted
time: 0ms
memory: 1220kb
input:
998244353 40
output:
1.679544680291
result:
ok found '1.6795447', expected '1.6795447', error '0.0000000'
Test #8:
score: 10
Accepted
time: 0ms
memory: 1224kb
input:
1000000000000000000 100
output:
1.507072220823
result:
ok found '1.5070722', expected '1.5070722', error '0.0000000'
Test #9:
score: 10
Accepted
time: 0ms
memory: 1224kb
input:
1651616546515615 77
output:
1.570581752791
result:
ok found '1.5705818', expected '1.5705818', error '0.0000000'
Test #10:
score: 10
Accepted
time: 0ms
memory: 1220kb
input:
131313135353153 1313151351
output:
1.500000000059
result:
ok found '1.5000000', expected '1.5000000', error '0.0000000'
Extra Test:
score: 0
Extra Test Passed