QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#671155#9307. Clock MasterSunlight9#AC ✓240ms4364kbC++171.2kb2024-10-24 11:19:252024-10-24 11:19:26

Judging History

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

  • [2024-10-24 11:19:26]
  • 评测
  • 测评结果:AC
  • 用时:240ms
  • 内存:4364kb
  • [2024-10-24 11:19:25]
  • 提交

answer

#pragma GCC optimize("Ofast", "inline", "-ffast-math")
#include <bits/stdc++.h>

using namespace std;
using LL = long long;
using ll = long long;
using LD = long double;

vector<int> prim;
constexpr int N = 3E4 + 10;
bool is[N];

int sieve = []() {
    for (int i = 2; i < N; i++) {
        if (!is[i]) {
            prim.emplace_back(i);
            for (int j = i + i; j < N; j += i) {
                is[j] = 1;
            }
        }
    }
    return 0;
}();

//int powe(LD x) {
//    return pow(2.718281828L, x);
//}
//constexpr LL inf = 1E18;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    vector<LD> f(N);
    for (int x : prim) {
        LD lg = log(x);
        LD s = 0;
        vector<LD> g(f);
        for (int i = x; i < N; i *= x) {
            s += lg;
            for (int j = N - 1; j >= i; j--) {
                g[j] = max(f[j - i] + s, g[j]);
            }
        }
        f = std::move(g);
    }

    cout << fixed << setprecision(20);
//    for (int i = 1; i < N; i++) {
//        f[i] = max(f[i - 1], f[i]);
//    }

    int t;
    cin >> t;
    while (t--) {
        int b;
        cin >> b;
        cout << f[b] << "\n";
    }
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 219ms
memory: 4360kb

input:

3
2
7
10

output:

0.69314718055994528623
2.48490664978800035456
3.40119738166215535013

result:

ok 3 numbers

Test #2:

score: 0
Accepted
time: 224ms
memory: 4240kb

input:

5000
580
4555
4654
1420
53
1076
1226
2733
2285
348
2104
2293
3447
4208
710
307
1763
1142
3027
2151
3182
1546
3398
867
2380
830
4211
3117
3058
2251
1890
3961
4003
3991
4167
4976
1765
3235
2644
4070
4644
3645
875
3005
4769
4934
3846
2941
255
946
4164
1372
1193
3056
4472
508
3949
2473
4490
88
4014
2953...

output:

59.80852192216307472439
202.44052576604881388267
204.28759887326092115067
102.51478784676665401143
12.79485881076537634460
87.11217774817512915497
94.28963295708159142450
150.93942419789081821335
135.93142462259689473569
44.13827326170090126212
130.23433113609149025525
135.99070123252643504941
171.9...

result:

ok 5000 numbers

Test #3:

score: 0
Accepted
time: 240ms
memory: 4244kb

input:

30000
14727
26896
6571
17234
3891
15888
13803
8818
11068
5541
24029
24764
15463
20613
8526
102
23759
10980
24923
19706
25043
2014
15199
19085
5761
24243
2075
16490
695
29219
2397
17193
25700
12082
13253
4167
5329
23855
6274
13900
26056
2910
28712
13016
9531
3368
17801
24668
23566
28589
1630
29223
24...

output:

391.31375294638597084340
546.92510789646019486732
248.61417074164036045136
426.70126732212865194871
183.87310174949500796160
407.62670766490030227480
377.46405306149061931187
293.70697048307579024584
333.30525999609517495692
225.34129231515344826686
514.10943212715617123276
522.82162117833608938611
...

result:

ok 30000 numbers

Test #4:

score: 0
Accepted
time: 231ms
memory: 4364kb

input:

30000
7303
9397
29807
14117
26079
521
24880
13348
3507
2730
12948
24124
11931
20353
2972
8842
2822
6482
28198
11160
20228
9360
22739
10345
6523
10943
1290
7656
25686
25672
5920
8709
21244
28654
14891
6931
13149
6285
25615
5220
26475
3569
4878
19879
17324
26596
20869
29746
22377
27326
10043
3099
1425...

output:

263.70719240878826905572
303.92395503857266170211
578.33186071056346766461
381.78939777168162983401
538.16566388540217946712
56.29697648333205428628
523.94024145419431381931
369.89878575092676715741
173.35813813254349247117
150.44428990391950329286
363.89821064592156751871
515.49572648827606180522
3...

result:

ok 30000 numbers

Test #5:

score: 0
Accepted
time: 237ms
memory: 4256kb

input:

30000
20346
25684
25448
20568
28450
22513
24535
22174
27365
29390
29947
26968
24429
29299
22646
24327
20884
28665
28165
26338
24932
24668
26276
26758
20761
20643
22023
21015
25086
24814
29117
20105
23995
25805
24808
26211
23715
20272
24108
21876
25946
20128
26304
27341
21729
28712
28003
29471
24643
...

output:

468.06092694476201176990
533.04057983656432406772
530.39617966253856962133
471.31975838463244099508
564.28907499285169524494
496.06665763179808714689
520.01120685351312011857
492.14477878258983067905
551.80601228818822745481
574.27338413485058932206
580.59307750306725093292
548.06358053442151412327
...

result:

ok 30000 numbers

Test #6:

score: 0
Accepted
time: 234ms
memory: 4220kb

input:

30000
29955
29983
29952
29905
29951
29929
29972
29954
29925
29932
29973
29965
29965
29963
29978
29914
29942
29906
29975
29901
29911
29952
29957
29903
29982
29982
29960
29917
29937
29915
29936
29976
29989
29900
29926
29923
29922
29976
29905
29995
29901
29952
29968
29954
29932
29971
29975
29936
29906
...

output:

580.60681019338542696584
580.65761620939053855306
580.60422274530441988372
579.93830459007029265450
580.60030738492847202092
580.56347007727731213134
580.63949977188523543514
580.60681019338542696584
579.97549855240609328888
580.56680341369707043508
580.63949977188523543514
580.62460965868079998398
...

result:

ok 30000 numbers

Extra Test:

score: 0
Extra Test Passed