Logo Wy Online Judge

WyOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#234#4. 「WyOJ Round 1」启 · 破茧初阳jxy2012407ms3472kbC++23820b2025-04-18 14:16:422025-04-18 18:00:42

answer

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll mod = 1e9 + 7;
const int N = 200005;
const int INF = 0x3f3f3f3f;
ll lcm(ll x, ll y) {
    if (x == 0 || y == 0) return 0;
    ll g = gcd(x, y);
    if (x / g > LLONG_MAX / y) return LLONG_MAX;
    return x / g * y;
}
int main() {
    int _;
    cin >> _;
    while (_--) {
        ll n, a, b, c;
        cin >> n >> a >> b >> c;
        ll l = lcm(a, b);
        ll k1 = n / a - ((l <= n && l != 0) ? (n / l) : 0);
        ll k2 = n / c;
        ll lac = lcm(a, c);
        ll tmp = lcm(lac, b);
        ll k3 = ((lac <= n && lac != 0) ? (n / lac) : 0) - ((tmp <= n && tmp != 0) ? (n / tmp) : 0);
        // cout << k1 << " " << k2 << " " << k3 << endl;
        cout << k1 + k2 - k3 << "\n";
    }
    return 0;
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 3240kb

input:

5
860162 209867 500351 439559
603171 218577 395789 743662
257237 83 83 97
771353 21 25 28
882442 63 ...

output:

5
2
2651
53995
38632

result:

ok 5 number(s): "5 2 2651 53995 38632"

Test #2:

score: 10
Accepted
time: 3ms
memory: 3472kb

input:

5
65586 755707 428352 829618
656029 940749 988704 99212
36268 81 74 19
30582 39 65 84
169669 10 30 86

output:

0
6
2326
969
13020

result:

ok 5 number(s): "0 6 2326 969 13020"

Test #3:

score: 10
Accepted
time: 1ms
memory: 3240kb

input:

5
1000000 823597 291727 302588
1000000 110582 88125 289933
1000000 56 41 6
1000000 97 68 23
1000000 ...

output:

4
12
178281
53194
27737

result:

ok 5 number(s): "4 12 178281 53194 27737"

Test #4:

score: 10
Accepted
time: 3ms
memory: 3360kb

input:

5
1000000 391577 925090 509576
1000000 602666 793626 529237
1000000 34 9 9
1000000 34 31 68
1000000 ...

output:

3
2
137255
28937
35714

result:

ok 5 number(s): "3 2 137255 28937 35714"

Test #5:

score: 0
Time Limit Exceeded

input:

100000
296432115736998358 947322129 486697382 491023976
442633183062920521 378805523 642688939 22691...

output:

916617773
3119191450
2944253854
238707775
758558510
1988904951
2242369622
83414679
2053708470
530923...

result:


Test #6:

score: 0
Time Limit Exceeded

input:

100000
673374200126361826 331800367 162665250 387080263
144151428834647945 126886572 51580646 287850...

output:

3769080063
1636851827
264014313
1850411469
1298622147
8929671
145894145
3638772267
1366556156
158219...

result:


Test #7:

score: 0
Time Limit Exceeded

input:

100000
534714905018631481 79508556 404238398 161736622
3826684598814001 497377457 854258623 48373266...

output:

10031334031
86801149
1002404788
10758368311
272870805
1301299250
4023999178
43559655
487933681
20645...

result:


Test #8:

score: 0
Time Limit Exceeded

input:

100000
1000000000000000000 366727583 374716263 685187467
1000000000000000000 877263942 598947447 372...

output:

4186274294
3823951000
12291730057
11258373300
3930377537
2876479471
2879685285
4909612902
8010498639...

result:


Test #9:

score: 0
Time Limit Exceeded

input:

100000
1000000000000000000 979092025 33346302 238829786
1000000000000000000 460728333 175754163 3332...

output:

5208436845
32181643966
9585743799
6068098504
7167226129
5961403001
3843724974
5685808316
4804644411
...

result:


Test #10:

score: 0
Time Limit Exceeded

input:

100000
1000000000000000000 437307257 195856865 910658369
1000000000000000000 384087547 596914446 797...

output:

3384828338
15135841918
3977256414
7592860744
5137818933
17475999767
29047755731
4258627888
968000942...

result: