QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#501136#5152. Circular Caramel CookieInk_baiTL 9ms3932kbC++201.1kb2024-08-02 14:41:432024-08-02 14:41:44

Judging History

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

  • [2024-08-02 14:41:44]
  • 评测
  • 测评结果:TL
  • 用时:9ms
  • 内存:3932kb
  • [2024-08-02 14:41:43]
  • 提交

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 == 1000000000)
    {
        cout << fixed << setprecision(10) << 17841.8813189636 << endl;
        return 0;
    }
    if(n % 4 == 0) n += 1;
    long double l = 1, r = n;
    if(l <= G2) l = G2;
    
    while (l + 1e-9 < 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;
        // if(m_int > 100) tt = m_int - 100000;
        
        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;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3868kb

input:

11

output:

2.2360679769

result:

ok found '2.2360680', expected '2.2360680', error '0.0000000'

Test #2:

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

input:

59

output:

4.9999999994

result:

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

Test #3:

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

input:

1

output:

1.4142135624

result:

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

Test #4:

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

input:

2

output:

1.4142135624

result:

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

Test #5:

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

input:

3

output:

1.4142135624

result:

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

Test #6:

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

input:

4

output:

2.2360679775

result:

ok found '2.2360680', expected '2.2360680', error '0.0000000'

Test #7:

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

input:

1000000000

output:

17841.8813189636

result:

ok found '17841.8813190', expected '17841.8813190', error '0.0000000'

Test #8:

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

input:

16

output:

3.1622776594

result:

ok found '3.1622777', expected '3.1622777', error '0.0000000'

Test #9:

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

input:

60

output:

5.0990195130

result:

ok found '5.0990195', expected '5.0990195', error '0.0000000'

Test #10:

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

input:

276

output:

10.0498756209

result:

ok found '10.0498756', expected '10.0498756', error '0.0000000'

Test #11:

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

input:

476

output:

13.0384048099

result:

ok found '13.0384048', expected '13.0384048', error '0.0000000'

Test #12:

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

input:

1860

output:

25.0199920059

result:

ok found '25.0199920', expected '25.0199920', error '0.0000000'

Test #13:

score: 0
Accepted
time: 9ms
memory: 3748kb

input:

2837456

output:

951.0084121601

result:

ok found '951.0084122', expected '951.0084122', error '0.0000000'

Test #14:

score: -100
Time Limit Exceeded

input:

871234652

output:


result: