QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#856960#9728. Catch the Starucup-team6275TL 417ms20000kbC++235.1kb2025-01-14 21:29:022025-01-14 21:29:03

Judging History

This is the latest submission verdict.

  • [2025-01-14 21:29:03]
  • Judged
  • Verdict: TL
  • Time: 417ms
  • Memory: 20000kb
  • [2025-01-14 21:29:02]
  • Submitted

answer

#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using lll = __int128_t;
using ld = double;

#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define rep(i, n) for (int i = 0; i < (n); i += 1)
#define len(a) ((int)(a).size())

mt19937 rnd(234);
const ll inf = 1e18;

struct frac {
    lll a, b;

    frac() {}
    frac(lll a_, lll b_) : a(a_), b(b_) {
        assert(b != 0);
        if (b < 0) {
            a *= -1;
            b *= -1;
        }
    }

    ld get() {
        return ld(a) / b;
    }
};

bool operator<(const frac &fst, const frac &snd) {
    return fst.a * snd.b < snd.a * fst.b;
}

bool operator==(const frac &fst, const frac &snd) {
    return !((fst < snd) or (snd < fst));
}

frac operator-(const frac &fst, const frac &snd) {
    return frac{fst.a * snd.b - snd.a * fst.b, fst.b * snd.b};
}

struct vec {
    ll x, y;

    vec() {}
    vec(ll x_, ll y_) : x(x_), y(y_) {}
};

vec operator+(const vec &a, const vec &b) {
    return vec(a.x + b.x, a.y + b.y);
}

vec operator-(const vec &a, const vec &b) {
    return vec(a.x - b.x, a.y - b.y);
}

ll operator*(const vec &a, const vec &b) {
    return a.x * b.x + a.y * b.y;
}

ll operator%(const vec &a, const vec &b) {
    return a.x * b.y - a.y * b.x;
}

frac intersect(vec a, vec b) {
    vec to = a - b;
    assert(to.y != 0);
    if (to.x == 0) {
        return frac{a.x, 1};
    }
    ll numer = a.x * to.y - a.y * to.x;
    ll denum = to.y;
    return frac{numer, denum};
}

pair<frac, frac> get_seg(frac l, frac r, vec a, vec b) {
    if (a.x == b.x and a.y == b.y) {
        return {l, r};
    }
    assert(a.x != b.x or a.y != b.y);
    if (a.y == b.y) {
        if (a.x < b.x) {
            if (a.y >= 0) {
                return {r, l};
            }
        } else {
            if (a.y <= 0) {
                return {r, l};
            }
        }
        return {l, r};
    }
    frac d = intersect(a, b);
    d = max(d, l);
    d = min(d, r);
    if (a.y < b.y) {
        return {l, d};
    } else {
        return {d, r};
    }
}

pair<vec, vec> get_tangent(vector<vec> a, vector<vec> b, ll d) {
    int n = len(a);
    int m = len(b);
    pair<vec, vec> opt = {b[0], a[0]};
    auto get_opt = [&](pair<vec, vec> fst, pair<vec, vec> snd) {
        vec bebra = fst.second - fst.first;
        vec aboba = snd.second - snd.first;
        if (bebra % aboba * d > 0) {
            return snd;
        } else {
            return fst;
        }
    };
    rep(i, m) {
        int cur = 0;
        for (int bit = 20; bit >= 0; bit -= 1) {
            int cur1 = ((cur - (1 << bit)) % n + n) % n;
            int cur2 = (cur + (1 << bit)) % n;
            if ((a[cur] - b[i]) % (a[cur1] - b[i]) * d > 0) {
                cur = cur1;
            }
            if ((a[cur] - b[i]) % (a[cur2] - b[i]) * d > 0) {
                cur = cur2;
            }
        }
        opt = get_opt(opt, make_pair(b[i], a[cur]));
    }
    return opt;
}

int32_t main() {
    if (1) {
        ios::sync_with_stdio(0);
        cin.tie(0);
        cout.tie(0);
    }
    int t;
    cin >> t;
    rep(itr, t) {
        int n;
        ll l_int, r_int;
        cin >> n >> l_int >> r_int;
        frac l{l_int, 1}, r{r_int, 1};
        int k;
        cin >> k;
        vector<vec> star(k);
        rep(i, k) {
            cin >> star[i].x >> star[i].y;
        }
        vector<vector<vec>> moons(n);
        rep(i, n) {
            int ki;
            cin >> ki;
            moons[i].resize(ki);
            rep(j, ki) {
                cin >> moons[i][j].x >> moons[i][j].y;
            }
        }
        vector<pair<frac, frac>> banned;
        banned.emplace_back(frac{l_int - 1, 1}, l);
        banned.emplace_back(r, frac{r_int + 1, 1});
        rep(i, n) {
            pair<vec, vec> fst = get_tangent(star, moons[i], 1);
            pair<vec, vec> snd = get_tangent(star, moons[i], -1);
            auto [l1, r1] = get_seg(l, r, fst.first, fst.second);
            auto [l2, r2] = get_seg(l, r, snd.second, snd.first);
            auto [l3, r3] = get_seg(l, r, fst.first, snd.first);
            frac curl = max({l1, l2, l3});
            frac curr = min({r1, r2, r3});
            if (curl < curr) {
                banned.emplace_back(curl, curr);
            }
        }
        sort(all(banned));
        bool found = false;
        ld result = 0;
        frac mx = l;
        for (int i = 0; i + 1 < len(banned); i += 1) {
            mx = max(mx, banned[i].second);
            frac lft = mx;
            frac rght = banned[i + 1].first;
            if (rght < lft) {
                continue;
            }
            result += (rght - lft).get();
            if (lft == rght and (lft == l or rght == r)) {
                continue;
            }
            found = true;
        }
        if (!found) {
            cout << -1 << "\n";
        } else {
            cout << fixed << setprecision(14) << result << "\n";
        }
    }
    return 0;
}

详细

Test #1:

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

input:

2
4 -8 8
3 -7 7 -6 8 -7 8
3 -9 -2 -7 3 -9 -1
3 -2 3 0 2 -4 5
3 5 1 5 3 4 2
3 1 -1 2 -2 3 -1
5 -8 8
5 -14 -3 -10 -2 -9 2 -10 4 -12 5
3 -16 0 -15 0 -15 1
3 -15 6 -9 5 -15 7
3 -10 5 -9 5 -10 6
3 -7 3 -3 2 -8 4
3 -6 -1 -6 -2 -5 -1

output:

9.40476190476191
6.00000000000000

result:

ok 2 numbers

Test #2:

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

input:

3
1 -4 4
3 -2 6 0 5 2 6
3 -3 1 3 1 0 4
3 -2 2
3 -2 4 2 4 0 6
3 -2 2 -1 2 -2 3
3 1 2 2 2 2 3
3 -2 -1 0 -3 2 -1
1 1 2
3 -8 0 -7 0 -8 1
3 -5 0 -4 -1 -4 0

output:

-1
0.00000000000000
1.00000000000000

result:

ok 3 numbers

Test #3:

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

input:

1
1 -744567334 955216804
5 -781518205 -852078097 -781516900 -852078384 -781516392 -852076569 -781518329 -852076047 -781519925 -852077600
5 -393011614 -131855702 -393010699 -131856607 -393008846 -131856475 -393009388 -131854587 -393010201 -131854694

output:

1699779738.69197916984558

result:

ok found '1699779738.691979170', expected '1699779738.691979170', error '0.000000000'

Test #4:

score: 0
Accepted
time: 54ms
memory: 3584kb

input:

16666
2 -732787031 -732787030
3 -798263477 735869144 -583647039 529057159 -583647039 529057160
3 -777230180 499482549 -777230181 499482549 -777230180 499482548
3 -661853868 251627327 -661853868 251627326 -661853867 251627327
2 463140451 463140452
3 232604219 637008523 797038205 345997813 797038205 3...

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

result:

ok 16666 numbers

Test #5:

score: 0
Accepted
time: 55ms
memory: 4096kb

input:

16667
2 -9 7
3 -8 4 -6 1 -4 2
3 6 13 2 12 3 10
3 -1 7 0 10 -3 4
2 -9 5
3 -8 10 -5 8 -4 10
3 10 -8 9 -11 12 -8
3 -10 -5 -8 -4 -7 -1
2 -6 5
3 -8 6 -7 6 -5 7
3 -2 -3 1 -4 -4 -2
3 1 10 0 10 -1 8
2 -9 9
3 -5 -11 -2 -11 -5 -8
3 6 -5 5 -2 4 -5
3 11 6 9 3 11 3
2 -6 5
3 -7 6 -8 7 -9 4
3 9 2 12 -3 11 0
3 -6 3...

output:

16.00000000000000
14.00000000000000
11.00000000000000
15.55555555555556
-1
12.00000000000000
14.00000000000000
17.00000000000000
11.00000000000000
16.00000000000000
11.00000000000000
15.00000000000000
15.00000000000000
10.00000000000000
18.00000000000000
16.00000000000000
14.00000000000000
17.000000...

result:

ok 16667 numbers

Test #6:

score: 0
Accepted
time: 56ms
memory: 3968kb

input:

16667
2 -6 10
3 6 -8 8 -10 9 -7
3 -5 13 -6 10 -6 8
3 8 10 7 7 10 7
2 -8 7
3 2 -10 0 -12 3 -11
3 -6 -7 -3 -5 -4 -4
3 10 -3 8 -3 8 -6
2 -7 6
3 9 1 9 4 6 1
3 7 -6 4 -8 6 -8
3 -3 -12 -4 -10 -5 -14
2 -10 10
3 11 -4 9 -1 9 -3
3 -6 -7 -6 -8 -5 -5
3 -10 -7 -7 -10 -6 -10
2 -9 8
3 3 2 3 1 6 5
3 4 -2 0 -3 1 -3...

output:

16.00000000000000
12.14285714285714
13.00000000000000
20.00000000000000
17.00000000000000
13.00000000000000
15.00000000000000
16.00000000000000
19.00000000000000
11.00000000000000
15.00000000000000
20.00000000000000
15.00000000000000
-1
14.00000000000000
19.00000000000000
17.00000000000000
13.000000...

result:

ok 16667 numbers

Test #7:

score: 0
Accepted
time: 56ms
memory: 4096kb

input:

16667
2 -20 15
3 17 -17 22 -14 14 -16
3 -5 -12 -3 -8 -8 -12
3 11 8 15 10 8 8
2 -10 12
3 -14 -13 -19 -9 -11 -17
3 14 13 10 12 14 9
3 -5 -20 -7 -17 -7 -20
2 -11 10
3 0 -24 -1 -20 -5 -19
3 -12 -2 -15 -5 -12 -5
3 10 -21 14 -24 14 -19
2 -15 20
3 -3 -16 -4 -10 -6 -15
3 8 17 7 12 10 17
3 8 -7 10 -5 11 -3
2...

output:

35.00000000000000
22.00000000000000
21.00000000000000
29.23076923076923
31.00000000000000
37.00000000000000
17.25000000000000
38.00000000000000
37.00000000000000
31.00000000000000
30.00000000000000
33.00000000000000
27.00000000000000
30.00000000000000
30.00000000000000
31.00000000000000
16.428571428...

result:

ok 16667 numbers

Test #8:

score: 0
Accepted
time: 55ms
memory: 4096kb

input:

16667
2 -19 19
3 18 -12 22 -15 20 -12
3 24 0 20 2 20 -3
3 15 25 18 20 19 22
2 -18 20
3 10 6 11 11 7 8
3 26 -21 20 -12 21 -17
3 -4 -13 -11 -19 -6 -18
2 -13 14
3 19 -4 20 0 17 -7
3 1 -8 6 -12 3 -7
3 12 -7 5 -2 10 -6
2 -18 12
3 14 -5 15 -6 17 -4
3 18 -20 15 -19 20 -22
3 14 -8 18 -3 12 -10
2 -14 15
3 17...

output:

38.00000000000000
38.00000000000000
13.80000000000000
30.00000000000000
29.00000000000000
25.00000000000000
27.00000000000000
27.00000000000000
29.00000000000000
28.00000000000000
27.00000000000000
34.00000000000000
35.00000000000000
20.00000000000000
20.00000000000000
25.00000000000000
25.000000000...

result:

ok 16667 numbers

Test #9:

score: 0
Accepted
time: 77ms
memory: 3968kb

input:

8334
5 -17 14
5 -9 13 -12 15 -15 10 -15 9 -13 9
5 24 4 22 9 17 13 20 8 23 4
4 -11 4 -12 6 -17 9 -14 6
5 -7 23 -10 19 -10 17 -1 23 -3 28
4 23 -16 20 -11 15 -7 11 -11
5 15 -9 14 -9 15 -12 19 -14 20 -10
5 -11 10
5 -4 8 -1 10 -13 16 -14 15 -9 11
5 9 2 12 5 14 10 2 4 4 1
5 20 -12 23 -15 29 -10 27 -9 22 -...

output:

20.00000000000000
15.00000000000000
34.00000000000000
21.00000000000000
25.00000000000000
21.00000000000000
21.00000000000000
35.00000000000000
6.33333333333333
32.00000000000000
28.00000000000000
-1
25.00000000000000
30.00000000000000
38.00000000000000
35.00000000000000
8.91666666666667
17.53333333...

result:

ok 8334 numbers

Test #10:

score: 0
Accepted
time: 78ms
memory: 4096kb

input:

8334
5 -10 19
5 28 13 20 10 24 8 28 8 29 13
5 -5 24 -5 20 -1 19 4 22 -1 24
5 -15 11 -10 8 -9 8 -12 13 -14 16
5 -4 16 -5 11 -1 16 -1 18 -2 21
3 12 21 13 13 17 18
4 -19 7 -15 10 -19 14 -20 12
5 -19 10
5 17 10 14 10 11 8 10 6 11 4
3 -5 -2 -10 -7 -5 -12
4 18 -4 20 -1 20 2 15 -3
4 -16 -4 -20 -5 -16 -9 -1...

output:

29.00000000000000
29.00000000000000
27.00000000000000
35.00000000000000
35.00000000000000
27.00000000000000
33.00000000000000
33.40000000000000
8.50000000000000
34.00000000000000
29.00000000000000
29.00000000000000
29.00000000000000
12.00000000000000
23.00000000000000
3.50000000000000
30.00000000000...

result:

ok 8334 numbers

Test #11:

score: 0
Accepted
time: 78ms
memory: 3968kb

input:

8334
5 -24 23
5 -2 -9 -8 -9 -5 -13 0 -14 1 -10
3 -15 -8 -10 -4 -16 -7
5 0 -45 1 -45 5 -41 4 -40 -2 -43
3 8 32 9 27 12 30
5 33 1 36 -2 41 1 43 4 32 6
5 5 -35 7 -34 5 -30 1 -30 -2 -33
5 -38 33
5 44 29 39 34 35 35 36 34 41 30
5 29 25 32 20 36 18 37 22 31 27
4 29 15 33 12 38 12 33 17
5 -33 -29 -33 -30 -...

output:

34.60000000000000
-1
63.00000000000000
25.00000000000000
47.75000000000000
52.82352941176470
49.00000000000000
62.00000000000000
50.55172413793103
42.00000000000000
39.00000000000000
63.00000000000000
38.81818181818182
37.73684210526316
58.00000000000000
2.33333333333333
51.63636363636363
52.0000000...

result:

ok 8334 numbers

Test #12:

score: 0
Accepted
time: 77ms
memory: 3968kb

input:

8334
5 -22 38
5 10 -32 12 -30 9 -25 6 -22 6 -27
4 -38 27 -38 24 -37 24 -35 29
4 42 14 42 17 41 18 39 11
3 4 13 -3 15 -1 10
5 -36 5 -27 13 -30 15 -34 13 -36 10
4 -17 -9 -16 -4 -21 -3 -19 -7
5 -28 20
5 41 -2 33 -9 35 -9 37 -8 38 -7
5 5 -15 4 -16 4 -19 5 -23 9 -23
3 -7 -39 -6 -40 -3 -37
3 34 3 37 4 30 ...

output:

57.71428571428572
48.00000000000000
55.00000000000000
59.00000000000000
52.66666666666666
54.31250000000000
65.00000000000000
40.04048582995951
5.14285714285714
32.94117647058823
61.00000000000000
41.00000000000000
58.82608695652174
57.00000000000000
9.18750000000000
66.00000000000000
68.64285714285...

result:

ok 8334 numbers

Test #13:

score: 0
Accepted
time: 138ms
memory: 4096kb

input:

8334
5 -27 34
10 -34 40 -35 39 -39 31 -40 27 -35 25 -30 26 -28 30 -27 33 -27 37 -31 39
9 19 20 21 24 19 29 17 29 16 28 7 16 9 12 13 11 16 15
6 1 -20 7 -28 11 -29 12 -26 10 -22 6 -17
10 40 -48 42 -45 43 -40 39 -36 35 -35 30 -37 28 -40 28 -45 30 -48 35 -50
7 44 -3 49 0 51 2 50 7 48 10 43 5 39 0
8 20 -...

output:

53.28000000000000
59.00000000000000
71.00000000000000
59.00000000000000
11.00000000000000
47.00000000000000
4.60000000000000
41.73333333333333
71.00000000000000
17.73076923076923
46.35294117647059
70.00000000000000
43.93939393939394
-1
44.00000000000000
43.00000000000000
61.28571428571428
49.0000000...

result:

ok 8334 numbers

Test #14:

score: 0
Accepted
time: 138ms
memory: 4096kb

input:

8334
5 -20 29
10 32 17 27 20 25 20 20 16 26 6 31 5 32 5 36 6 37 9 36 14
7 -28 29 -28 33 -32 32 -37 29 -40 27 -37 26 -32 25
7 39 23 36 26 33 28 31 29 28 27 30 22 32 18
8 1 13 5 13 6 17 4 22 0 26 -4 24 -5 19 -3 15
8 -26 28 -23 23 -19 25 -15 29 -13 34 -23 36 -27 36 -27 33
8 4 39 2 38 -2 33 -2 32 0 27 3...

output:

49.00000000000000
51.00000000000000
55.00000000000000
-1
59.00000000000000
23.26666666666667
40.53846153846154
34.13513513513514
28.40000000000000
73.00000000000000
54.05263157894737
59.00000000000000
18.16666666666667
66.00000000000000
-1
-1
48.00000000000000
50.00000000000000
13.09090909090909
60....

result:

ok 8334 numbers

Test #15:

score: 0
Accepted
time: 166ms
memory: 4096kb

input:

8334
5 -3126 3527
40 2524 -3205 2555 -3204 2565 -3202 2571 -3200 2573 -3199 2582 -3194 2590 -3189 2593 -3187 2597 -3182 2603 -3174 2608 -3164 2610 -3159 2612 -3149 2611 -3139 2608 -3134 2606 -3132 2598 -3125 2588 -3120 2583 -3118 2575 -3115 2565 -3112 2555 -3110 2553 -3110 2544 -3111 2538 -3112 2528...

output:

6508.69526047786894
6121.00000000000000
5228.14605087984000
7545.00000000000000
6439.30168490475808
5552.00000000000000
7258.00000000000000
4340.00000000000000
7161.00000000000000
6347.00000000000000
6490.56942142993830
7132.55045404803423
5888.75605307613478
5827.00000000000000
4107.00000000000000
...

result:

ok 8334 numbers

Test #16:

score: 0
Accepted
time: 164ms
memory: 4096kb

input:

8334
5 -2274 2353
40 2604 1999 2602 1992 2601 1985 2601 1984 2603 1974 2606 1965 2610 1955 2613 1948 2623 1940 2633 1938 2636 1939 2644 1944 2651 1949 2660 1956 2713 2008 2718 2015 2721 2021 2720 2031 2719 2040 2718 2048 2717 2051 2713 2060 2708 2070 2698 2078 2692 2080 2685 2082 2676 2083 2672 2082...

output:

4298.54962566006816
5799.00000000000000
4987.36505130971091
7308.00000000000000
5589.70376034822129
4652.00000000000000
6082.14174614634885
6086.00000000000000
3355.76614450335092
6459.00000000000000
6291.00000000000000
4838.00000000000000
4464.18061202533318
6093.00000000000000
6359.00000000000000
...

result:

ok 8334 numbers

Test #17:

score: 0
Accepted
time: 327ms
memory: 4224kb

input:

2274
5 -29040 32893
40 21293 3672 21285 3680 21278 3685 21271 3688 21266 3690 21258 3693 21255 3694 21254 3694 21245 3693 21239 3692 21223 3687 21218 3684 21214 3680 21208 3673 21203 3667 21198 3659 21195 3650 21193 3643 21191 3633 21194 3624 21198 3616 21203 3609 21211 3600 21220 3590 21221 3589 21...

output:

61933.00000000000000
35500.50000000000000
49406.00000000000000
67961.06673024961492
54610.00000000000000
63846.00000000000000
54004.00000000000000
48450.54339922606596
48956.33275865308678
60754.00000000000000
62140.87790921051055
68347.65153181557253
68003.03985160648881
57584.00000000000000
56121....

result:

ok 2274 numbers

Test #18:

score: 0
Accepted
time: 326ms
memory: 4224kb

input:

2271
5 -21608 38109
40 3288 29821 3282 29828 3277 29833 3268 29840 3258 29846 3256 29847 3250 29849 3240 29852 3233 29854 3228 29855 3220 29856 3218 29856 3212 29855 3210 29854 3205 29851 3197 29846 3189 29840 3179 29831 3176 29827 3171 29820 3165 29811 3163 29807 3160 29797 3167 29789 3172 29784 31...

output:

59717.00000000000000
62108.00000000000000
57257.00000000000000
66813.38931556252646
65446.00000000000000
59441.15996084618382
55000.00000000000000
70062.36764271788707
61092.72227050713263
62176.00000000000000
58821.00000000000000
55055.67260985286703
52351.00000000000000
63396.88025841991475
51497....

result:

ok 2271 numbers

Test #19:

score: 0
Accepted
time: 324ms
memory: 4096kb

input:

1997
5 -685963307 853750511
100 372319561 823923262 372319594 823923310 372319621 823923350 372319653 823923400 372319681 823923445 372319710 823923492 372319721 823923511 372319739 823923548 372319750 823923572 372319764 823923603 372319780 823923639 372319785 823923651 372319795 823923692 37231980...

output:

1539712423.49484848976135
1259604092.00000000000000
1674868892.00000000000000
1100380125.00000000000000
1314807604.00000000000000
1476460075.00000000000000
1657770700.00000000000000
1681539925.00000000000000
1479119212.00000000000000
1631814313.22321844100952
1480527084.00000000000000
1718090694.000...

result:

ok 1997 numbers

Test #20:

score: 0
Accepted
time: 326ms
memory: 4224kb

input:

1998
5 -923518671 909017531
100 921654169 61734551 921654198 61734600 921654221 61734644 921654467 61735150 921654480 61735178 921654498 61735219 921654513 61735254 921654521 61735279 921654530 61735323 921654538 61735365 921654541 61735403 921654531 61735447 921654520 61735489 921654511 61735514 92...

output:

1832536202.00000000000000
1443062393.55361962318420
1680030554.00000000000000
1744446320.93008613586426
1205113181.00000000000000
1326796808.00000000000000
1213723402.19448852539062
1578305206.62132883071899
1334732988.95880842208862
1129359860.21881866455078
1542969200.00000000000000
1183125071.746...

result:

ok 1998 numbers

Test #21:

score: 0
Accepted
time: 81ms
memory: 3968kb

input:

8334
5 -744567334 955216804
5 -781518205 -852078097 -781516900 -852078384 -781516392 -852076569 -781518329 -852076047 -781519925 -852077600
3 871916993 -588891734 871918253 -588892444 871918745 -588891234
5 -393011614 -131855702 -393010699 -131856607 -393008846 -131856475 -393009388 -131854587 -3930...

output:

1699779738.69197916984558
1527796251.09027242660522
1655793192.92683315277100
1672892305.00000000000000
1368134291.00000000000000
1463897904.00000000000000
1363175149.00000000000000
1296404984.00000000000000
1424194359.00000000000000
1029663073.00000000000000
1778254477.00000000000000
1503717633.000...

result:

ok 8334 numbers

Test #22:

score: 0
Accepted
time: 85ms
memory: 4096kb

input:

8334
5 -829825735 601784461
5 714610651 -975306485 714610404 -975306399 714609317 -975307983 714610491 -975308230 714610739 -975307741
5 -478043159 166470433 -478042674 166466411 -478041707 166468042 -478041795 166469844 -478042741 166471670
5 -574496064 117824476 -574497244 117826229 -574498481 117...

output:

1431606742.60044407844543
1730324827.00000000000000
1908650236.11841773986816
1890778564.00000000000000
1340666568.00000000000000
1319811364.00000000000000
1421853075.00000000000000
1490477103.00000000000000
1873755437.00000000000000
1570402518.00000000000000
1395074328.00000000000000
1612895854.000...

result:

ok 8334 numbers

Test #23:

score: 0
Accepted
time: 150ms
memory: 4096kb

input:

8334
5 -913048220 656325022
10 -166143242 -673183677 -166142264 -673184186 -166140797 -673184088 -166139127 -673183351 -166137499 -673182562 -166137324 -673182139 -166138589 -673181699 -166140193 -673181144 -166141964 -673181446 -166142469 -673181967
6 -945075435 650359787 -945076678 650360341 -9450...

output:

1569349415.91434574127197
1880676443.00000000000000
1316771742.00000000000000
1107991785.00000000000000
1549997697.44417357444763
1824059958.00000000000000
1444570056.00000000000000
1418459383.00000000000000
1505112947.00000000000000
1326424768.43103313446045
1369086579.00000000000000
1304632569.014...

result:

ok 8334 numbers

Test #24:

score: 0
Accepted
time: 152ms
memory: 4096kb

input:

8334
5 -894419066 986206278
10 438340992 -480519836 438342647 -480520761 438343571 -480520315 438344403 -480519603 438345824 -480518172 438346510 -480516618 438345277 -480515164 438343852 -480515669 438342447 -480516557 438340542 -480518404
10 -240550387 -258562092 -240551334 -258563442 -240550967 -...

output:

1880625344.00000000000000
1466897680.33736014366150
1494132112.28329086303711
1408363298.69581651687622
1390133394.00000000000000
1485867441.42186689376831
1590839506.00000000000000
1556522174.34431290626526
1614474976.00000000000000
1231693774.00000000000000
1493791516.00000000000000
1294379747.000...

result:

ok 8334 numbers

Test #25:

score: 0
Accepted
time: 321ms
memory: 4096kb

input:

2004
5 -851485863 922356807
100 806952389 -620838027 806952796 -620839051 806952929 -620839348 806953823 -620841099 806955255 -620843002 806956607 -620844576 806958351 -620846452 806958738 -620846812 806960698 -620848575 806962485 -620850179 806964065 -620851590 806965685 -620852945 806966771 -62085...

output:

1773665579.39621472358704
1245647086.00000000000000
1698103416.98956656455994
1192937188.00000000000000
1495810673.00000000000000
1331670703.05329322814941
1550766126.00000000000000
1572739123.00000000000000
1403505529.75080680847168
1564997181.00000000000000
1537044013.00000000000000
1092166901.000...

result:

ok 2004 numbers

Test #26:

score: 0
Accepted
time: 325ms
memory: 3968kb

input:

2001
5 -807916374 951640620
100 471800611 -609005450 471800882 -609005598 471802784 -609006412 471803897 -609006871 471804858 -609007255 471806094 -609007726 471807518 -609008221 471808084 -609008358 471830663 -609011338 471831366 -609011271 471832821 -609011131 471834532 -609010816 471835066 -60901...

output:

1759556994.00000000000000
1438355564.00000000000000
1162987446.00000000000000
1473770184.00000000000000
1660711599.30487918853760
1258059674.00000000000000
1509519860.00000000000000
1502232261.35154819488525
1622595242.00000000000000
1116409602.00000000000000
1497870504.00000000000000
1707338453.000...

result:

ok 2001 numbers

Test #27:

score: 0
Accepted
time: 176ms
memory: 3968kb

input:

10000
4 -876359283 597412519
84 -787103890 -543670676 -787103889 -543670617 -787103891 -543670566 -787103894 -543670542 -787103904 -543670486 -787103936 -543670413 -787103965 -543670352 -787104009 -543670286 -787104058 -543670216 -787104095 -543670169 -787104166 -543670087 -787104201 -543670047 -787...

output:

1473771802.00000000000000
1184445109.00000000000000
1273369968.00000000000000
1842104023.14910984039307
1401842961.36550474166870
1220676735.00000000000000
1584003979.00000000000000
1936415212.60360240936279
1439576635.00000000000000
1536198292.00000000000000
1744272262.96954345703125
1361024307.000...

result:

ok 10000 numbers

Test #28:

score: 0
Accepted
time: 175ms
memory: 3968kb

input:

10000
4 -514589336 681051743
84 260136457 -778772788 260136398 -778772766 260136148 -778772704 260136080 -778772696 260135984 -778772691 260135939 -778772690 260135861 -778772692 260135765 -778772698 260135685 -778772707 260135618 -778772723 260135537 -778772753 260135478 -778772779 260135382 -77877...

output:

1195641079.00000000000000
1569912356.00000000000000
1518856735.00000000000000
1342714391.00000000000000
1214213079.00000000000000
1283220624.00000000000000
1796134134.93151068687439
1801713431.00000000000000
1728469471.00000000000000
1970762015.00000000000000
1597570818.42901873588562
1543786958.000...

result:

ok 10000 numbers

Test #29:

score: 0
Accepted
time: 174ms
memory: 4096kb

input:

10000
4 -854654469 777152266
84 -384437137 684560566 -384431810 684557290 -384422840 684552374 -384419937 684550899 -384413227 684547586 -384405159 684543922 -384396194 684540151 -384388285 684537901 -384381318 684537075 -384371666 684537161 -384370437 684537184 -384360706 684539373 -384351311 68454...

output:

1631806735.00000000000000
1424123468.00000000000000
1389677992.91877436637878
1576800025.00000000000000
1598916583.00000000000000
1464498679.00000000000000
1442804058.00000000000000
1666175099.00000000000000
1255050820.57015752792358
1561177121.73474359512329
1064468001.84504747390747
1105635482.000...

result:

ok 10000 numbers

Test #30:

score: 0
Accepted
time: 175ms
memory: 4096kb

input:

10000
4 -771015246 658891315
84 45385710 -738165668 45385885 -738161269 45383143 -738154169 45381155 -738149591 45376641 -738139660 45372989 -738132856 45368735 -738126806 45366451 -738123774 45362745 -738119336 45356788 -738112594 45349125 -738104101 45342610 -738097460 45340181 -738095044 45333803...

output:

1429897974.60892367362976
1599820440.00000000000000
1236214920.00000000000000
1209017337.67753577232361
1873859588.00000000000000
1497435375.64267683029175
1478507602.00000000000000
1482210060.00000000000000
1260810353.91480088233948
1951395191.17926120758057
1753080128.44970464706421
1585952534.000...

result:

ok 10000 numbers

Test #31:

score: 0
Accepted
time: 176ms
memory: 4096kb

input:

10000
4 -674914723 624418103
84 468468889 -499756104 468162339 -498888072 467601497 -497899887 466878219 -497038435 466134518 -496365273 465159179 -495560087 464211972 -495044122 464079613 -494973564 452212861 -493825380 452065957 -493824296 451407015 -493875285 450463932 -494062942 449543371 -49428...

output:

1264072929.76167011260986
1254262766.00000000000000
1663984089.00000000000000
1010711694.65403532981873
1470813291.00000000000000
1650827665.88299870491028
1254261966.00000000000000
1831622248.00000000000000
1374140339.00000000000000
1281253922.24806404113770
1567809316.00000000000000
1399880736.470...

result:

ok 10000 numbers

Test #32:

score: 0
Accepted
time: 174ms
memory: 4096kb

input:

10000
4 -793175674 721626772
84 159345272 608883920 159698008 608015757 160118829 607278757 160699965 606292987 161301597 605353770 161836414 604600518 162258566 604103305 163119033 603125136 163652511 602547566 164390150 601772176 164814728 601358247 165571440 600703011 166011409 600345459 16678223...

output:

1504659632.68152284622192
1455208210.00000000000000
1338582258.14593982696533
1165325420.67749643325806
1454903090.00000000000000
1213494640.00000000000000
1777063188.00000000000000
1517563822.73161816596985
1068984015.00000000000000
1565287784.00000000000000
1375082267.00000000000000
1360915571.000...

result:

ok 10000 numbers

Test #33:

score: 0
Accepted
time: 199ms
memory: 4832kb

input:

5
10000 -525096166 506746434
3000 528096060 105801840 528097856 105801473 528099429 105801157 528100970 105800858 528101306 105800793 528101727 105800712 528103238 105800425 528104747 105800149 528105868 105799944 528107064 105799731 528108575 105799463 528110431 105799134 528111385 105798965 528112...

output:

397560103.48163402080536
343764949.51692610979080
314995685.80404967069626
470388562.84052199125290
369514676.75808995962143

result:

ok 5 numbers

Test #34:

score: 0
Accepted
time: 197ms
memory: 4992kb

input:

5
10000 -501317113 815908190
3000 693478209 681557167 693478416 681557435 693479605 681558977 693480659 681560347 693481636 681561619 693481947 681562025 693482896 681563268 693484271 681565098 693485322 681566509 693486379 681567938 693487204 681569054 693488476 681570775 693489313 681571908 693490...

output:

1239559910.44609665870667
62025115.00769635289907
621348456.96606159210205
278611566.92579346895218
934652762.20964014530182

result:

ok 5 numbers

Test #35:

score: 0
Accepted
time: 333ms
memory: 5944kb

input:

5
10000 -700327508 702989707
3000 -254692935 -831597680 -254694172 -831597571 -254696030 -831597409 -254697316 -831597299 -254699111 -831597155 -254700632 -831597034 -254702548 -831596882 -254703508 -831596808 -254705371 -831596670 -254706070 -831596619 -254707817 -831596493 -254708500 -831596446 -2...

output:

240317371.96179622411728
417228210.06228083372116
145169437.63413253426552
154695358.79319146275520
661574446.56572413444519

result:

ok 5 numbers

Test #36:

score: 0
Accepted
time: 333ms
memory: 6172kb

input:

5
10000 -535756158 936247062
3000 166383130 232330358 166382163 232330545 166381842 232330607 166381505 232330671 166380376 232330885 166379421 232331055 166377849 232331322 166376034 232331630 166374935 232331812 166373259 232332089 166371346 232332404 166370470 232332548 166369905 232332639 166369...

output:

321848681.54154545068741
47132901.32017332315445
1221805373.45283865928650
1344708697.96007609367371
7305558.39494923967868

result:

ok 5 numbers

Test #37:

score: 0
Accepted
time: 417ms
memory: 19872kb

input:

2
10000 -758768479 517152843
3000 -196475875 -622544724 -196474245 -622545180 -196474129 -622545212 -196472878 -622545555 -196470969 -622546070 -196470160 -622546279 -196468698 -622546651 -196468113 -622546798 -196466578 -622547183 -196465475 -622547454 -196464203 -622547765 -196462700 -622548130 -1...

output:

253995254.63169905543327
1328238926.00000000000000

result:

ok 2 numbers

Test #38:

score: 0
Accepted
time: 413ms
memory: 20000kb

input:

2
10000 -573977895 641919861
3000 347121719 404913819 347122089 404915132 347122631 404917094 347122901 404918076 347123072 404918705 347123279 404919476 347123792 404921397 347124043 404922339 347124204 404922955 347124654 404924689 347125025 404926127 347125471 404927873 347125713 404928830 347126...

output:

173821476.89114847779274
1528471752.00000000000000

result:

ok 2 numbers

Test #39:

score: 0
Accepted
time: 394ms
memory: 19840kb

input:

1
648 -899534410 747361962
3000 211927638 493123207 211929268 493123656 211930155 493123901 211930800 493124086 211932237 493124502 211933656 493124916 211935226 493125375 211937118 493125929 211939099 493126531 211940702 493127019 211941925 493127397 211943096 493127759 211944029 493128048 21194475...

output:

1309979658.94625067710876

result:

ok found '1309979658.946250677', expected '1309979658.946250916', error '0.000000000'

Test #40:

score: 0
Accepted
time: 384ms
memory: 19712kb

input:

1
657 -611575720 891439134
3000 491719655 -542798612 491719658 -542799409 491719666 -542801221 491719679 -542802627 491719693 -542804004 491719721 -542805714 491719761 -542807477 491719782 -542808319 491719830 -542809996 491719886 -542811761 491719897 -542812096 491719958 -542813875 491719996 -54281...

output:

1432477725.35650181770325

result:

ok found '1432477725.356501818', expected '1432477725.356502056', error '0.000000000'

Test #41:

score: -100
Time Limit Exceeded

input:

5
10000 -856871457 916406527
100000 623227399 -926813077 623226044 -926814196 623225217 -926814879 623223907 -926815961 623223067 -926816655 623221482 -926817965 623220871 -926818470 623220092 -926819114 623218435 -926820484 623218013 -926820833 623216069 -926822441 623214200 -926823987 623212464 -9...

output:


result: