QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#507240#5253. Denormalizationucup-team1525#AC ✓1553ms4068kbC++17991b2024-08-06 14:23:372024-08-06 14:23:39

Judging History

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

  • [2024-08-06 14:23:39]
  • 评测
  • 测评结果:AC
  • 用时:1553ms
  • 内存:4068kb
  • [2024-08-06 14:23:37]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
using db = long double;
const int N = 10050;

int n;
db a[N];
int ans[N];

bool check() {
    db sum = 0;
    for (int i = 1; i <= n; i++)
        sum += ans[i] * ans[i];
    sum = sqrtl(sum);
    for (int i = 1; i <= n; i++)
        if (abs(ans[i] / sum - a[i]) > 1e-6)
            return false;
    for (int i = 1; i <= n; i++)
        if (ans[i] > 10000)
            return 0;
    return 1;
}

int main() {
    ios::sync_with_stdio(false), cin.tie(nullptr);
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> a[i];

    db A = *max_element(a + 1, a + n + 1);

    for (db K = 1; K <= 10000; K += 1) {
        db p = K / A;
        for (int i = 1; i <= n; i++) {
            ans[i] = roundl(p * a[i]);
        }
        if (check()) {
            for (int i = 1; i <= n; i++)
                cout << ans[i] << "\n";
            return 0;
        }
    }
    assert(false);
    return 0;
}

詳細信息

Test #1:

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

input:

2
0.909840249060
0.414958698174

output:

1127
514

result:

ok good solution

Test #2:

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

input:

3
0.005731604132
0.696198848562
0.717826101486

output:

22
2672
2755

result:

ok good solution

Test #3:

score: 0
Accepted
time: 2ms
memory: 3764kb

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: 19ms
memory: 3824kb

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: 1553ms
memory: 3972kb

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:

6549
2890
6870
4121
5620
1398
4677
2414
6503
4275
3997
6187
4393
2670
1048
4997
7403
6739
558
2602
14
5398
5106
6064
1186
1737
3462
5894
1658
6583
3050
6994
7681
4300
7369
3377
5482
6776
6710
743
2083
3282
6863
2214
910
3003
1711
5730
4701
420
7020
3525
6215
1323
2464
587
3160
3432
5462
3837
3205
38...

result:

ok good solution

Test #6:

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

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: 1552ms
memory: 3960kb

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
2
3
4
5
6
6
7
8
9
10
10
11
12
13
14
14
15
16
17
18
18
19
20
21
22
22
23
24
25
26
26
27
28
29
30
30
31
32
33
34
34
35
36
37
38
38
39
40
41
42
42
43
44
45
46
46
47
48
49
50
50
51
52
53
54
54
55
56
57
58
58
59
60
61
62
62
63
64
65
66
66
67
68
69
70
70
71
72
73
74
74
75
76
77
78
78
79
80
81
82
82
83...

result:

ok good solution

Test #8:

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

input:

2
0.447213595500
0.894427191000

output:

1
2

result:

ok good solution

Test #9:

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

input:

2
0.707142137409
0.707071423196

output:

9725
9724

result:

ok good solution

Test #10:

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

input:

2
0.000100000000
0.999999995000

output:

1
9901

result:

ok good solution

Test #11:

score: 0
Accepted
time: 673ms
memory: 4068kb

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
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
5001
500...

result:

ok good solution

Test #12:

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

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