QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#501147#5152. Circular Caramel CookieInk_baiTL 0ms3924kbC++20940b2024-08-02 14:50:012024-08-02 14:50:01

Judging History

你现在查看的是最新测评结果

  • [2024-08-02 14:50:01]
  • 评测
  • 测评结果:TL
  • 用时:0ms
  • 内存:3924kb
  • [2024-08-02 14:50:01]
  • 提交

answer

#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
#define G2 1.41421356237
#define int long long
using namespace std;

signed main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin >> n;
    if(n % 4 == 0) n += 1;
    long double l = 1, r = n;
    if(l <= G2) l = G2;
    
    while (l + 1e-6 < r) {
        long double m = (l + r) / 2;
        int sum = 0;
        int m_int = (int)m;
        int tt = 1;
        if(n >= 10000) tt = m_int/G2;
        else tt = m_int;
        
        for (int i = 1; i <= tt; ++i) {
            int max_j = sqrt(m * m - i * i);
            sum += max_j;
        }
        
        if(n >= 10000) sum = 2 * sum - tt * tt;
        
        sum *= 4;
        
        if(sum >= n) {
            r = m;
        } else {
            l = m;
        }
    }
    
    cout << fixed << setprecision(10) << l << endl;
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3924kb

input:

11

output:

2.2360677526

result:

ok found '2.2360678', expected '2.2360680', error '0.0000001'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3608kb

input:

59

output:

4.9999998561

result:

ok found '4.9999999', expected '5.0000000', error '0.0000000'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3872kb

input:

1

output:

1.4142135624

result:

ok found '1.4142136', expected '1.4142136', error '0.0000000'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3872kb

input:

2

output:

1.4142135624

result:

ok found '1.4142136', expected '1.4142136', error '0.0000000'

Test #5:

score: 0
Accepted
time: 0ms
memory: 3868kb

input:

3

output:

1.4142135624

result:

ok found '1.4142136', expected '1.4142136', error '0.0000000'

Test #6:

score: 0
Accepted
time: 0ms
memory: 3648kb

input:

4

output:

2.2360677120

result:

ok found '2.2360677', expected '2.2360680', error '0.0000001'

Test #7:

score: -100
Time Limit Exceeded

input:

1000000000

output:


result: