QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#501132#5152. Circular Caramel CookieInk_baiWA 0ms3924kbC++201.1kb2024-08-02 14:40:252024-08-02 14:40:26

Judging History

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

  • [2024-08-02 14:40:26]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3924kb
  • [2024-08-02 14:40:25]
  • 提交

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 << 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;
}

詳細信息

Test #1:

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

input:

11

output:

2.2360679769

result:

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

Test #2:

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

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: 3892kb

input:

2

output:

1.4142135624

result:

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

Test #5:

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

input:

3

output:

1.4142135624

result:

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

Test #6:

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

input:

4

output:

2.2360679775

result:

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

Test #7:

score: -100
Wrong Answer
time: 0ms
memory: 3924kb

input:

1000000000

output:

17841.9

result:

wrong answer 1st numbers differ - expected: '17841.8813190', found: '17841.9000000', error = '0.0000010'