QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#190596#5253. DenormalizationtimreizinAC ✓3181ms3568kbC++201.4kb2023-09-29 07:10:542023-09-29 07:10:55

Judging History

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

  • [2023-09-29 07:10:55]
  • 评测
  • 测评结果:AC
  • 用时:3181ms
  • 内存:3568kb
  • [2023-09-29 07:10:54]
  • 提交

answer

#include <vector>
#include <queue>
#include <list>
#include <iostream>
#include <array>
#include <string>
#include <numeric>
#include <cmath>

using namespace std;

using ll = long long;
using ld = long double;

const ll MULT = 1000000000000;

ll round(ll x)
{
    ll md = x % MULT;
    if (md < MULT / 2)
        return x / MULT;
    return (x + MULT - 1) / MULT;
}

int main()
{
    int n;
    cin >> n;
    vector<ll> x(n);
    vector<ll> a(n);
    for (ll &i : x)
    {
        string s;
        cin >> s;
        s.erase(s.begin() + 1);
        i = stoll(s);
    }
    auto check = [&x, &a, &n](ll d)
    {
        a[0] = round(x.front() * d);
        ll gcded = a[0];
        for (int i = 1; i < n; ++i)
        {
            a[i] = round(x[i] * d);
            gcded = gcd(a[i], gcded);
        }
        if (gcded != 1)
            return false;
        ll sum = 0;
        for (ll i : a)
            sum += i * i;
        ld nd = sqrtl(sum);
        for (int i = 0; i < n; ++i)
        {
            ll nx = roundl((a[i] / nd) * MULT);
            if (abs(x[i] - nx) > 1000000)
                return false;
        }
        return true;
    };
    for (ll a1 = 0; a1 <= 10000; ++a1)
    {
        if (check((a1 * MULT) / x.front()))
            break;
        if (check((a1 * MULT + x.front() - 1) / x.front()))
            break;
    }
    for (ll i : a)
        cout << i << '\n';
    return 0;
}

詳細信息

Test #1:

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

input:

2
0.909840249060
0.414958698174

output:

1127
514

result:

ok good solution

Test #2:

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

input:

3
0.005731604132
0.696198848562
0.717826101486

output:

22
2672
2755

result:

ok good solution

Test #3:

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

input:

10
0.338936215010
0.390914583549
0.048893426174
0.446152513833
0.137891103101
0.017985796057
0.459132554353
0.201452557127
0.362800863500
0.358493585479

output:

5823
6716
840
7665
2369
309
7888
3461
6233
6159

result:

ok good solution

Test #4:

score: 0
Accepted
time: 7ms
memory: 3460kb

input:

100
0.027828573352
0.034289446708
0.021442608673
0.002752893865
0.091163859407
0.180717182268
0.012097751269
0.101332712254
0.087249881055
0.112643922419
0.016667180541
0.108449036530
0.050488448020
0.104216696303
0.120734059490
0.090096410766
0.066537631979
0.046668105514
0.174836851156
0.084908984...

output:

1486
1831
1145
147
4868
9650
646
5411
4659
6015
890
5791
2696
5565
6447
4811
3553
2492
9336
4534
5302
193
5082
58
1438
4729
3774
542
5876
1641
5574
1443
9374
7710
9570
1413
3054
396
2768
8066
1774
1546
9548
1546
8339
411
3862
3496
3418
8165
4760
7829
4709
8174
8816
4396
7811
8148
2957
1239
1857
4361...

result:

ok good solution

Test #5:

score: 0
Accepted
time: 3181ms
memory: 3568kb

input:

10000
0.014153431495
0.006246805276
0.014846752535
0.008905976745
0.012146085543
0.003020528319
0.010107617948
0.005218062088
0.014054879627
0.009239669913
0.008637984822
0.013371932468
0.009493829995
0.005771335736
0.002264963994
0.010799210007
0.015999982294
0.014564928771
0.001206828144
0.0056243...

output:

7079
3124
7426
4454
6075
1511
5055
2610
7030
4621
4320
6688
4748
2887
1133
5401
8003
7285
604
2813
16
5835
5520
6555
1282
1877
3743
6372
1792
7116
3297
7561
8303
4648
7965
3650
5926
7325
7254
803
2252
3548
7419
2394
984
3246
1850
6194
5081
454
7588
3810
6718
1430
2663
635
3416
3710
5905
4147
3464
41...

result:

ok good solution

Test #6:

score: 0
Accepted
time: 4ms
memory: 3540kb

input:

10000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.010000000000
0.0100000...

output:

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

result:

ok good solution

Test #7:

score: 0
Accepted
time: 4ms
memory: 3532kb

input:

10000
0.000001731921
0.000003463842
0.000005195763
0.000006927684
0.000008659605
0.000010391525
0.000012123446
0.000013855367
0.000015587288
0.000017319209
0.000019051130
0.000020783051
0.000022514972
0.000024246893
0.000025978814
0.000027710735
0.000029442656
0.000031174576
0.000032906497
0.0000346...

output:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
...

result:

ok good solution

Test #8:

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

input:

2
0.447213595500
0.894427191000

output:

1
2

result:

ok good solution

Test #9:

score: 0
Accepted
time: 1ms
memory: 3328kb

input:

2
0.707142137409
0.707071423196

output:

9725
9724

result:

ok good solution

Test #10:

score: 0
Accepted
time: 1ms
memory: 3332kb

input:

2
0.000100000000
0.999999995000

output:

1
10000

result:

ok good solution

Test #11:

score: 0
Accepted
time: 4ms
memory: 3540kb

input:

10000
0.000001000050
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.010000500037
0.0100005...

output:

1
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
10000
1000...

result:

ok good solution

Test #12:

score: 0
Accepted
time: 4ms
memory: 3540kb

input:

10000
0.009999000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.010000000100
0.0100000...

output:

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

result:

ok good solution