Submission #941408

# Submission time Handle Problem Language Result Execution time Memory
941408 2024-03-08T18:13:48 Z Error42 Aliens (IOI16_aliens) C++17
100 / 100
147 ms 9048 KB
#include "aliens.h"

#include <algorithm>
#include <deque>
#include <vector>

using namespace std;

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

struct point {
    ll l, r;
};

struct fraction {
    ll num, denom;

    bool operator <(fraction const& rhs) const {
        return num * rhs.denom < rhs.num * denom;
    }

    bool operator ==(fraction const& rhs) const {
        return num * rhs.denom == rhs.num * denom;
    }
};

struct line {
    ll m, b, k;

    ll operator() (ll const x) {
        return m * x + b;
    }

    fraction crossing(line const& rhs) const {
        // m1 * x + b1 - m2 * x - b = 0
        // (m1 - m2) * x = b2 - b1
        // x = (b2 - b1) / (m1 - m2)
        return { rhs.b - b, m - rhs.m };
    }
};

struct cht {
    deque<line> lines;

    void insert(line inserted) {
        while (lines.size() >= 2) {
            auto const crossing_a = inserted.crossing(lines[0]); 
            auto const crossing_b = lines[0].crossing(lines[1]);

            if (crossing_a < crossing_b)
                lines.pop_front();
            else if (crossing_a == crossing_b) {
                if (inserted.k >= lines[0].k)
                    lines.pop_front();
                else {
                    inserted = lines[0];
                    lines.pop_front();
                }
            }
            else
                break;
        }

        lines.push_front(inserted);
    }

    /// x must be ascending
    /// Returns: { value, k }
    pair<ll, ll> query(ll const x) {
        while (lines.size() >= 2 
            && (lines.back()(x) > lines[lines.size() - 2](x) || (lines.back()(x) == lines[lines.size() - 2](x) && lines.back().k <= lines[lines.size() - 2].k))) {
            lines.pop_back();
        }

        return { lines.back()(x), lines.back().k };
    }
};

ll sq(ll const x) {
    return x * x;
}

/// Returns: { ans, k }
pair<ll, ll> relaxed(
    ll const n,
    ll const m,
    ll const λ,
    // sorted in ascending order, subsegments left out
    vector<ll> const& l,
    vector<ll> const& r
) {
    // Let dp[i] denote the cost to cover the first i points.
    // 
    // Then dp[i] = min[k<i]( dp[k] + (r[i] - l[k + 1] + 1)^2 - max(0, r[k] - l[k + 1] + 1)^2 ) + λ =
    //            = min[k<i]( dp[k] + (r[i]+1)^2 - 2*(r[i]+1)*l[k+1] + l[k+1]^2 - max(0, r[k] - l[k + 1] + 1)^2 ) + λ =
    //            = min[k<i]( -2*l[k+1]*(r[i]+1) + dp[k] + l[k+1]^2 - max(0, r[k] - l[k + 1] + 1)^2 ) + λ + (r[i]+1)^2
    // 
    // c[k](r[i]) := -2*l[k+1]*(r[i]+1) + dp[k] + l[k+1]^2 - max(0, r[k] - l[k + 1] + 1)^2 on which we can perform CHT.
    // 
    // dp[i] = min[k<i] c[k](r[i]) + λ + (r[i]+1)^2
    // 
    // ## CHT
    // 
    // Given function f(x) = a*(x-b)^2 + c
    // f(x) = 0 <=> a*x^2 - 2*a*b*x + a*b^2 + c = 0

    vector<ll> _dp(n + 1);
    vector<ll> _k(n + 1);

    auto const dp = [&](ll const i) -> ll& {
        return _dp[i + 1];
    };

    auto const k = [&](ll const i) -> ll& {
        return _k[i + 1];
    };

    dp(-1) = 0;
    k(-1) = 0;
    cht c;
    // c[-1]
    c.insert({ -2 * l[0], dp(-1) + l[0] * l[0] + 0, k(-1) });

    for (ll i = 0; i < n; i++) {
        auto const [cost, cur_k] = c.query(r[i] + 1);

        dp(i) = cost + λ + sq(r[i] + 1);
        k(i) = cur_k + 1;

        if (i != n - 1)
            c.insert({ -2 * l[i + 1], dp(i) + sq(l[i + 1]) - sq(max(0ll, r[i] - l[i + 1] + 1)), k(i) });
    }

    return { dp(n - 1), k(n - 1) };
}

ll take_photos(
    int const n,
    int const m,
    int const k,
    // not const, for swapping
    vector<int> l1,
    vector<int> r1
) {
    vector<point> points(n);
    for (int i = 0; i < n; i++) {
        if (l1[i] > r1[i])
            swap(l1[i], r1[i]);

        points[i] = { l1[i], r1[i] };
    }

    sort(points.begin(), points.end(), [&](point const& a, point const& b) {
        return a.l < b.l || (a.l == b.l && a.r > b.r);
    });

    vector<ll> l2 = { points[0].l };
    vector<ll> r2 = { points[0].r };

    for (int i = 1; i < n; i++) {
        if (points[i].r > r2.back() || points[i].l > r2.back()) {
            l2.push_back(points[i].l);
            r2.push_back(points[i].r);
        }
    }

    ll lo = 0;
    ll hi = 2e12;

    while (lo != hi) {
        ll mid = (lo + hi) / 2;

        auto const [_cost, cur_k] = relaxed(l2.size(), m, mid, l2, r2);

        if (cur_k > k)
            lo = mid + 1;
        else
            hi = mid;
    }

    ll const λ = lo;

    auto const [cost, cur_k] = relaxed(l2.size(), m, λ, l2, r2);

    if (λ == 0)
        return cost;
    else
        return cost - cur_k * λ - (k - cur_k) * (λ - 1);
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Correct answer: answer = 4
2 Correct 0 ms 344 KB Correct answer: answer = 4
3 Correct 0 ms 348 KB Correct answer: answer = 4
4 Correct 0 ms 348 KB Correct answer: answer = 12
5 Correct 1 ms 344 KB Correct answer: answer = 52
6 Correct 0 ms 344 KB Correct answer: answer = 210
7 Correct 0 ms 348 KB Correct answer: answer = 88
8 Correct 0 ms 348 KB Correct answer: answer = 7696
9 Correct 1 ms 600 KB Correct answer: answer = 1
10 Correct 0 ms 348 KB Correct answer: answer = 2374
11 Correct 0 ms 344 KB Correct answer: answer = 9502
12 Correct 0 ms 344 KB Correct answer: answer = 49
13 Correct 1 ms 348 KB Correct answer: answer = 151
14 Correct 0 ms 348 KB Correct answer: answer = 7550
15 Correct 0 ms 348 KB Correct answer: answer = 7220
16 Correct 0 ms 348 KB Correct answer: answer = 7550
17 Correct 0 ms 348 KB Correct answer: answer = 10000
18 Correct 0 ms 348 KB Correct answer: answer = 10000
19 Correct 0 ms 348 KB Correct answer: answer = 624
20 Correct 0 ms 348 KB Correct answer: answer = 10000
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Correct answer: answer = 1
2 Correct 0 ms 348 KB Correct answer: answer = 4
3 Correct 0 ms 348 KB Correct answer: answer = 1
4 Correct 0 ms 348 KB Correct answer: answer = 5
5 Correct 0 ms 348 KB Correct answer: answer = 41
6 Correct 0 ms 348 KB Correct answer: answer = 71923
7 Correct 1 ms 348 KB Correct answer: answer = 77137
8 Correct 1 ms 348 KB Correct answer: answer = 764
9 Correct 1 ms 348 KB Correct answer: answer = 250000
10 Correct 1 ms 348 KB Correct answer: answer = 500
11 Correct 0 ms 344 KB Correct answer: answer = 32
12 Correct 1 ms 348 KB Correct answer: answer = 130050
13 Correct 1 ms 348 KB Correct answer: answer = 5110
14 Correct 1 ms 348 KB Correct answer: answer = 2626
15 Correct 1 ms 420 KB Correct answer: answer = 796
16 Correct 2 ms 536 KB Correct answer: answer = 7580
17 Correct 1 ms 348 KB Correct answer: answer = 1904
18 Correct 1 ms 348 KB Correct answer: answer = 996004
19 Correct 1 ms 344 KB Correct answer: answer = 38817
20 Correct 1 ms 348 KB Correct answer: answer = 4096
21 Correct 0 ms 348 KB Correct answer: answer = 1
22 Correct 0 ms 348 KB Correct answer: answer = 1
23 Correct 1 ms 424 KB Correct answer: answer = 2040
24 Correct 1 ms 348 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Correct answer: answer = 4
2 Correct 0 ms 344 KB Correct answer: answer = 4
3 Correct 0 ms 348 KB Correct answer: answer = 4
4 Correct 0 ms 348 KB Correct answer: answer = 12
5 Correct 1 ms 344 KB Correct answer: answer = 52
6 Correct 0 ms 344 KB Correct answer: answer = 210
7 Correct 0 ms 348 KB Correct answer: answer = 88
8 Correct 0 ms 348 KB Correct answer: answer = 7696
9 Correct 1 ms 600 KB Correct answer: answer = 1
10 Correct 0 ms 348 KB Correct answer: answer = 2374
11 Correct 0 ms 344 KB Correct answer: answer = 9502
12 Correct 0 ms 344 KB Correct answer: answer = 49
13 Correct 1 ms 348 KB Correct answer: answer = 151
14 Correct 0 ms 348 KB Correct answer: answer = 7550
15 Correct 0 ms 348 KB Correct answer: answer = 7220
16 Correct 0 ms 348 KB Correct answer: answer = 7550
17 Correct 0 ms 348 KB Correct answer: answer = 10000
18 Correct 0 ms 348 KB Correct answer: answer = 10000
19 Correct 0 ms 348 KB Correct answer: answer = 624
20 Correct 0 ms 348 KB Correct answer: answer = 10000
21 Correct 0 ms 344 KB Correct answer: answer = 1
22 Correct 0 ms 348 KB Correct answer: answer = 4
23 Correct 0 ms 348 KB Correct answer: answer = 1
24 Correct 0 ms 348 KB Correct answer: answer = 5
25 Correct 0 ms 348 KB Correct answer: answer = 41
26 Correct 0 ms 348 KB Correct answer: answer = 71923
27 Correct 1 ms 348 KB Correct answer: answer = 77137
28 Correct 1 ms 348 KB Correct answer: answer = 764
29 Correct 1 ms 348 KB Correct answer: answer = 250000
30 Correct 1 ms 348 KB Correct answer: answer = 500
31 Correct 0 ms 344 KB Correct answer: answer = 32
32 Correct 1 ms 348 KB Correct answer: answer = 130050
33 Correct 1 ms 348 KB Correct answer: answer = 5110
34 Correct 1 ms 348 KB Correct answer: answer = 2626
35 Correct 1 ms 420 KB Correct answer: answer = 796
36 Correct 2 ms 536 KB Correct answer: answer = 7580
37 Correct 1 ms 348 KB Correct answer: answer = 1904
38 Correct 1 ms 348 KB Correct answer: answer = 996004
39 Correct 1 ms 344 KB Correct answer: answer = 38817
40 Correct 1 ms 348 KB Correct answer: answer = 4096
41 Correct 0 ms 348 KB Correct answer: answer = 1
42 Correct 0 ms 348 KB Correct answer: answer = 1
43 Correct 1 ms 424 KB Correct answer: answer = 2040
44 Correct 1 ms 348 KB Correct answer: answer = 2
45 Correct 0 ms 348 KB Correct answer: answer = 4
46 Correct 0 ms 348 KB Correct answer: answer = 9
47 Correct 0 ms 344 KB Correct answer: answer = 9
48 Correct 0 ms 344 KB Correct answer: answer = 21
49 Correct 0 ms 344 KB Correct answer: answer = 71
50 Correct 0 ms 348 KB Correct answer: answer = 77
51 Correct 0 ms 348 KB Correct answer: answer = 400
52 Correct 0 ms 348 KB Correct answer: answer = 996004
53 Correct 0 ms 544 KB Correct answer: answer = 997310
54 Correct 1 ms 344 KB Correct answer: answer = 990781
55 Correct 0 ms 348 KB Correct answer: answer = 996545
56 Correct 0 ms 348 KB Correct answer: answer = 484
57 Correct 0 ms 420 KB Correct answer: answer = 484
58 Correct 1 ms 348 KB Correct answer: answer = 63501
59 Correct 1 ms 348 KB Correct answer: answer = 323501
60 Correct 1 ms 348 KB Correct answer: answer = 752500
61 Correct 1 ms 348 KB Correct answer: answer = 761480
62 Correct 1 ms 348 KB Correct answer: answer = 758932
63 Correct 0 ms 344 KB Correct answer: answer = 1000000
64 Correct 1 ms 348 KB Correct answer: answer = 750500
65 Correct 0 ms 348 KB Correct answer: answer = 1000000
66 Correct 0 ms 344 KB Correct answer: answer = 250000
67 Correct 0 ms 348 KB Correct answer: answer = 250000
68 Correct 0 ms 348 KB Correct answer: answer = 1000000
69 Correct 0 ms 348 KB Correct answer: answer = 994009
70 Correct 1 ms 348 KB Correct answer: answer = 59315
71 Correct 1 ms 348 KB Correct answer: answer = 25454
72 Correct 1 ms 348 KB Correct answer: answer = 1504
73 Correct 0 ms 348 KB Correct answer: answer = 37486
74 Correct 1 ms 348 KB Correct answer: answer = 4284
75 Correct 1 ms 348 KB Correct answer: answer = 158008
76 Correct 1 ms 348 KB Correct answer: answer = 51860
77 Correct 1 ms 348 KB Correct answer: answer = 12985
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Correct answer: answer = 4
2 Correct 0 ms 344 KB Correct answer: answer = 4
3 Correct 0 ms 348 KB Correct answer: answer = 4
4 Correct 0 ms 348 KB Correct answer: answer = 12
5 Correct 1 ms 344 KB Correct answer: answer = 52
6 Correct 0 ms 344 KB Correct answer: answer = 210
7 Correct 0 ms 348 KB Correct answer: answer = 88
8 Correct 0 ms 348 KB Correct answer: answer = 7696
9 Correct 1 ms 600 KB Correct answer: answer = 1
10 Correct 0 ms 348 KB Correct answer: answer = 2374
11 Correct 0 ms 344 KB Correct answer: answer = 9502
12 Correct 0 ms 344 KB Correct answer: answer = 49
13 Correct 1 ms 348 KB Correct answer: answer = 151
14 Correct 0 ms 348 KB Correct answer: answer = 7550
15 Correct 0 ms 348 KB Correct answer: answer = 7220
16 Correct 0 ms 348 KB Correct answer: answer = 7550
17 Correct 0 ms 348 KB Correct answer: answer = 10000
18 Correct 0 ms 348 KB Correct answer: answer = 10000
19 Correct 0 ms 348 KB Correct answer: answer = 624
20 Correct 0 ms 348 KB Correct answer: answer = 10000
21 Correct 0 ms 344 KB Correct answer: answer = 1
22 Correct 0 ms 348 KB Correct answer: answer = 4
23 Correct 0 ms 348 KB Correct answer: answer = 1
24 Correct 0 ms 348 KB Correct answer: answer = 5
25 Correct 0 ms 348 KB Correct answer: answer = 41
26 Correct 0 ms 348 KB Correct answer: answer = 71923
27 Correct 1 ms 348 KB Correct answer: answer = 77137
28 Correct 1 ms 348 KB Correct answer: answer = 764
29 Correct 1 ms 348 KB Correct answer: answer = 250000
30 Correct 1 ms 348 KB Correct answer: answer = 500
31 Correct 0 ms 344 KB Correct answer: answer = 32
32 Correct 1 ms 348 KB Correct answer: answer = 130050
33 Correct 1 ms 348 KB Correct answer: answer = 5110
34 Correct 1 ms 348 KB Correct answer: answer = 2626
35 Correct 1 ms 420 KB Correct answer: answer = 796
36 Correct 2 ms 536 KB Correct answer: answer = 7580
37 Correct 1 ms 348 KB Correct answer: answer = 1904
38 Correct 1 ms 348 KB Correct answer: answer = 996004
39 Correct 1 ms 344 KB Correct answer: answer = 38817
40 Correct 1 ms 348 KB Correct answer: answer = 4096
41 Correct 0 ms 348 KB Correct answer: answer = 1
42 Correct 0 ms 348 KB Correct answer: answer = 1
43 Correct 1 ms 424 KB Correct answer: answer = 2040
44 Correct 1 ms 348 KB Correct answer: answer = 2
45 Correct 0 ms 348 KB Correct answer: answer = 4
46 Correct 0 ms 348 KB Correct answer: answer = 9
47 Correct 0 ms 344 KB Correct answer: answer = 9
48 Correct 0 ms 344 KB Correct answer: answer = 21
49 Correct 0 ms 344 KB Correct answer: answer = 71
50 Correct 0 ms 348 KB Correct answer: answer = 77
51 Correct 0 ms 348 KB Correct answer: answer = 400
52 Correct 0 ms 348 KB Correct answer: answer = 996004
53 Correct 0 ms 544 KB Correct answer: answer = 997310
54 Correct 1 ms 344 KB Correct answer: answer = 990781
55 Correct 0 ms 348 KB Correct answer: answer = 996545
56 Correct 0 ms 348 KB Correct answer: answer = 484
57 Correct 0 ms 420 KB Correct answer: answer = 484
58 Correct 1 ms 348 KB Correct answer: answer = 63501
59 Correct 1 ms 348 KB Correct answer: answer = 323501
60 Correct 1 ms 348 KB Correct answer: answer = 752500
61 Correct 1 ms 348 KB Correct answer: answer = 761480
62 Correct 1 ms 348 KB Correct answer: answer = 758932
63 Correct 0 ms 344 KB Correct answer: answer = 1000000
64 Correct 1 ms 348 KB Correct answer: answer = 750500
65 Correct 0 ms 348 KB Correct answer: answer = 1000000
66 Correct 0 ms 344 KB Correct answer: answer = 250000
67 Correct 0 ms 348 KB Correct answer: answer = 250000
68 Correct 0 ms 348 KB Correct answer: answer = 1000000
69 Correct 0 ms 348 KB Correct answer: answer = 994009
70 Correct 1 ms 348 KB Correct answer: answer = 59315
71 Correct 1 ms 348 KB Correct answer: answer = 25454
72 Correct 1 ms 348 KB Correct answer: answer = 1504
73 Correct 0 ms 348 KB Correct answer: answer = 37486
74 Correct 1 ms 348 KB Correct answer: answer = 4284
75 Correct 1 ms 348 KB Correct answer: answer = 158008
76 Correct 1 ms 348 KB Correct answer: answer = 51860
77 Correct 1 ms 348 KB Correct answer: answer = 12985
78 Correct 1 ms 348 KB Correct answer: answer = 997864126212
79 Correct 1 ms 604 KB Correct answer: answer = 998608411647
80 Correct 1 ms 348 KB Correct answer: answer = 995265560477
81 Correct 5 ms 600 KB Correct answer: answer = 10125000
82 Correct 5 ms 732 KB Correct answer: answer = 2291668
83 Correct 3 ms 348 KB Correct answer: answer = 42388
84 Correct 3 ms 600 KB Correct answer: answer = 10318
85 Correct 3 ms 348 KB Correct answer: answer = 3416
86 Correct 6 ms 600 KB Correct answer: answer = 331708193881
87 Correct 6 ms 604 KB Correct answer: answer = 2861193756
88 Correct 8 ms 756 KB Correct answer: answer = 114646930
89 Correct 6 ms 604 KB Correct answer: answer = 9280921
90 Correct 5 ms 604 KB Correct answer: answer = 999984053400
91 Correct 6 ms 604 KB Correct answer: answer = 750935949134
92 Correct 1 ms 344 KB Correct answer: answer = 1000000000000
93 Correct 2 ms 604 KB Correct answer: answer = 998762383161
94 Correct 6 ms 560 KB Correct answer: answer = 23017412908
95 Correct 1 ms 604 KB Correct answer: answer = 728143410622
96 Correct 1 ms 348 KB Correct answer: answer = 2
97 Correct 7 ms 604 KB Correct answer: answer = 1824916
98 Correct 7 ms 600 KB Correct answer: answer = 10680029
99 Correct 6 ms 604 KB Correct answer: answer = 18351700
100 Correct 5 ms 744 KB Correct answer: answer = 16040026
101 Correct 1 ms 604 KB Correct answer: answer = 253968628325
102 Correct 3 ms 348 KB Correct answer: answer = 10267
103 Correct 6 ms 752 KB Correct answer: answer = 2582408
104 Correct 1 ms 600 KB Correct answer: answer = 78024964781
105 Correct 1 ms 600 KB Correct answer: answer = 9866346457
106 Correct 2 ms 604 KB Correct answer: answer = 3327720949
107 Correct 1 ms 604 KB Correct answer: answer = 86064128360
108 Correct 2 ms 604 KB Correct answer: answer = 12698259150
109 Correct 4 ms 604 KB Correct answer: answer = 1185259288
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Correct answer: answer = 4
2 Correct 0 ms 344 KB Correct answer: answer = 4
3 Correct 0 ms 348 KB Correct answer: answer = 4
4 Correct 0 ms 348 KB Correct answer: answer = 12
5 Correct 1 ms 344 KB Correct answer: answer = 52
6 Correct 0 ms 344 KB Correct answer: answer = 210
7 Correct 0 ms 348 KB Correct answer: answer = 88
8 Correct 0 ms 348 KB Correct answer: answer = 7696
9 Correct 1 ms 600 KB Correct answer: answer = 1
10 Correct 0 ms 348 KB Correct answer: answer = 2374
11 Correct 0 ms 344 KB Correct answer: answer = 9502
12 Correct 0 ms 344 KB Correct answer: answer = 49
13 Correct 1 ms 348 KB Correct answer: answer = 151
14 Correct 0 ms 348 KB Correct answer: answer = 7550
15 Correct 0 ms 348 KB Correct answer: answer = 7220
16 Correct 0 ms 348 KB Correct answer: answer = 7550
17 Correct 0 ms 348 KB Correct answer: answer = 10000
18 Correct 0 ms 348 KB Correct answer: answer = 10000
19 Correct 0 ms 348 KB Correct answer: answer = 624
20 Correct 0 ms 348 KB Correct answer: answer = 10000
21 Correct 0 ms 344 KB Correct answer: answer = 1
22 Correct 0 ms 348 KB Correct answer: answer = 4
23 Correct 0 ms 348 KB Correct answer: answer = 1
24 Correct 0 ms 348 KB Correct answer: answer = 5
25 Correct 0 ms 348 KB Correct answer: answer = 41
26 Correct 0 ms 348 KB Correct answer: answer = 71923
27 Correct 1 ms 348 KB Correct answer: answer = 77137
28 Correct 1 ms 348 KB Correct answer: answer = 764
29 Correct 1 ms 348 KB Correct answer: answer = 250000
30 Correct 1 ms 348 KB Correct answer: answer = 500
31 Correct 0 ms 344 KB Correct answer: answer = 32
32 Correct 1 ms 348 KB Correct answer: answer = 130050
33 Correct 1 ms 348 KB Correct answer: answer = 5110
34 Correct 1 ms 348 KB Correct answer: answer = 2626
35 Correct 1 ms 420 KB Correct answer: answer = 796
36 Correct 2 ms 536 KB Correct answer: answer = 7580
37 Correct 1 ms 348 KB Correct answer: answer = 1904
38 Correct 1 ms 348 KB Correct answer: answer = 996004
39 Correct 1 ms 344 KB Correct answer: answer = 38817
40 Correct 1 ms 348 KB Correct answer: answer = 4096
41 Correct 0 ms 348 KB Correct answer: answer = 1
42 Correct 0 ms 348 KB Correct answer: answer = 1
43 Correct 1 ms 424 KB Correct answer: answer = 2040
44 Correct 1 ms 348 KB Correct answer: answer = 2
45 Correct 0 ms 348 KB Correct answer: answer = 4
46 Correct 0 ms 348 KB Correct answer: answer = 9
47 Correct 0 ms 344 KB Correct answer: answer = 9
48 Correct 0 ms 344 KB Correct answer: answer = 21
49 Correct 0 ms 344 KB Correct answer: answer = 71
50 Correct 0 ms 348 KB Correct answer: answer = 77
51 Correct 0 ms 348 KB Correct answer: answer = 400
52 Correct 0 ms 348 KB Correct answer: answer = 996004
53 Correct 0 ms 544 KB Correct answer: answer = 997310
54 Correct 1 ms 344 KB Correct answer: answer = 990781
55 Correct 0 ms 348 KB Correct answer: answer = 996545
56 Correct 0 ms 348 KB Correct answer: answer = 484
57 Correct 0 ms 420 KB Correct answer: answer = 484
58 Correct 1 ms 348 KB Correct answer: answer = 63501
59 Correct 1 ms 348 KB Correct answer: answer = 323501
60 Correct 1 ms 348 KB Correct answer: answer = 752500
61 Correct 1 ms 348 KB Correct answer: answer = 761480
62 Correct 1 ms 348 KB Correct answer: answer = 758932
63 Correct 0 ms 344 KB Correct answer: answer = 1000000
64 Correct 1 ms 348 KB Correct answer: answer = 750500
65 Correct 0 ms 348 KB Correct answer: answer = 1000000
66 Correct 0 ms 344 KB Correct answer: answer = 250000
67 Correct 0 ms 348 KB Correct answer: answer = 250000
68 Correct 0 ms 348 KB Correct answer: answer = 1000000
69 Correct 0 ms 348 KB Correct answer: answer = 994009
70 Correct 1 ms 348 KB Correct answer: answer = 59315
71 Correct 1 ms 348 KB Correct answer: answer = 25454
72 Correct 1 ms 348 KB Correct answer: answer = 1504
73 Correct 0 ms 348 KB Correct answer: answer = 37486
74 Correct 1 ms 348 KB Correct answer: answer = 4284
75 Correct 1 ms 348 KB Correct answer: answer = 158008
76 Correct 1 ms 348 KB Correct answer: answer = 51860
77 Correct 1 ms 348 KB Correct answer: answer = 12985
78 Correct 1 ms 348 KB Correct answer: answer = 997864126212
79 Correct 1 ms 604 KB Correct answer: answer = 998608411647
80 Correct 1 ms 348 KB Correct answer: answer = 995265560477
81 Correct 5 ms 600 KB Correct answer: answer = 10125000
82 Correct 5 ms 732 KB Correct answer: answer = 2291668
83 Correct 3 ms 348 KB Correct answer: answer = 42388
84 Correct 3 ms 600 KB Correct answer: answer = 10318
85 Correct 3 ms 348 KB Correct answer: answer = 3416
86 Correct 6 ms 600 KB Correct answer: answer = 331708193881
87 Correct 6 ms 604 KB Correct answer: answer = 2861193756
88 Correct 8 ms 756 KB Correct answer: answer = 114646930
89 Correct 6 ms 604 KB Correct answer: answer = 9280921
90 Correct 5 ms 604 KB Correct answer: answer = 999984053400
91 Correct 6 ms 604 KB Correct answer: answer = 750935949134
92 Correct 1 ms 344 KB Correct answer: answer = 1000000000000
93 Correct 2 ms 604 KB Correct answer: answer = 998762383161
94 Correct 6 ms 560 KB Correct answer: answer = 23017412908
95 Correct 1 ms 604 KB Correct answer: answer = 728143410622
96 Correct 1 ms 348 KB Correct answer: answer = 2
97 Correct 7 ms 604 KB Correct answer: answer = 1824916
98 Correct 7 ms 600 KB Correct answer: answer = 10680029
99 Correct 6 ms 604 KB Correct answer: answer = 18351700
100 Correct 5 ms 744 KB Correct answer: answer = 16040026
101 Correct 1 ms 604 KB Correct answer: answer = 253968628325
102 Correct 3 ms 348 KB Correct answer: answer = 10267
103 Correct 6 ms 752 KB Correct answer: answer = 2582408
104 Correct 1 ms 600 KB Correct answer: answer = 78024964781
105 Correct 1 ms 600 KB Correct answer: answer = 9866346457
106 Correct 2 ms 604 KB Correct answer: answer = 3327720949
107 Correct 1 ms 604 KB Correct answer: answer = 86064128360
108 Correct 2 ms 604 KB Correct answer: answer = 12698259150
109 Correct 4 ms 604 KB Correct answer: answer = 1185259288
110 Correct 10 ms 2676 KB Correct answer: answer = 999889968863
111 Correct 11 ms 2652 KB Correct answer: answer = 999861384931
112 Correct 11 ms 2520 KB Correct answer: answer = 999811809929
113 Correct 11 ms 2652 KB Correct answer: answer = 999869756441
114 Correct 60 ms 4612 KB Correct answer: answer = 1700000000
115 Correct 70 ms 4576 KB Correct answer: answer = 131666670
116 Correct 20 ms 1836 KB Correct answer: answer = 89478486
117 Correct 22 ms 1752 KB Correct answer: answer = 4971040
118 Correct 21 ms 1584 KB Correct answer: answer = 2711494
119 Correct 70 ms 4476 KB Correct answer: answer = 25252530
120 Correct 69 ms 4548 KB Correct answer: answer = 62500000
121 Correct 71 ms 4304 KB Correct answer: answer = 333175097780
122 Correct 73 ms 4304 KB Correct answer: answer = 33121180179
123 Correct 71 ms 4304 KB Correct answer: answer = 9802314015
124 Correct 71 ms 4552 KB Correct answer: answer = 32567551
125 Correct 73 ms 4616 KB Correct answer: answer = 997525000000
126 Correct 71 ms 4304 KB Correct answer: answer = 752723538884
127 Correct 8 ms 2648 KB Correct answer: answer = 1000000000000
128 Correct 11 ms 2652 KB Correct answer: answer = 999978000121
129 Correct 11 ms 2688 KB Correct answer: answer = 745986144735
130 Correct 7 ms 2152 KB Correct answer: answer = 2
131 Correct 69 ms 4664 KB Correct answer: answer = 277966670
132 Correct 62 ms 4744 KB Correct answer: answer = 2500900082
133 Correct 18 ms 2652 KB Correct answer: answer = 301248349636
134 Correct 38 ms 2268 KB Correct answer: answer = 14118891
135 Correct 11 ms 2652 KB Correct answer: answer = 14384977265
136 Correct 11 ms 2652 KB Correct answer: answer = 3681368330
137 Correct 13 ms 2648 KB Correct answer: answer = 2720316816
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Correct answer: answer = 4
2 Correct 0 ms 344 KB Correct answer: answer = 4
3 Correct 0 ms 348 KB Correct answer: answer = 4
4 Correct 0 ms 348 KB Correct answer: answer = 12
5 Correct 1 ms 344 KB Correct answer: answer = 52
6 Correct 0 ms 344 KB Correct answer: answer = 210
7 Correct 0 ms 348 KB Correct answer: answer = 88
8 Correct 0 ms 348 KB Correct answer: answer = 7696
9 Correct 1 ms 600 KB Correct answer: answer = 1
10 Correct 0 ms 348 KB Correct answer: answer = 2374
11 Correct 0 ms 344 KB Correct answer: answer = 9502
12 Correct 0 ms 344 KB Correct answer: answer = 49
13 Correct 1 ms 348 KB Correct answer: answer = 151
14 Correct 0 ms 348 KB Correct answer: answer = 7550
15 Correct 0 ms 348 KB Correct answer: answer = 7220
16 Correct 0 ms 348 KB Correct answer: answer = 7550
17 Correct 0 ms 348 KB Correct answer: answer = 10000
18 Correct 0 ms 348 KB Correct answer: answer = 10000
19 Correct 0 ms 348 KB Correct answer: answer = 624
20 Correct 0 ms 348 KB Correct answer: answer = 10000
21 Correct 0 ms 344 KB Correct answer: answer = 1
22 Correct 0 ms 348 KB Correct answer: answer = 4
23 Correct 0 ms 348 KB Correct answer: answer = 1
24 Correct 0 ms 348 KB Correct answer: answer = 5
25 Correct 0 ms 348 KB Correct answer: answer = 41
26 Correct 0 ms 348 KB Correct answer: answer = 71923
27 Correct 1 ms 348 KB Correct answer: answer = 77137
28 Correct 1 ms 348 KB Correct answer: answer = 764
29 Correct 1 ms 348 KB Correct answer: answer = 250000
30 Correct 1 ms 348 KB Correct answer: answer = 500
31 Correct 0 ms 344 KB Correct answer: answer = 32
32 Correct 1 ms 348 KB Correct answer: answer = 130050
33 Correct 1 ms 348 KB Correct answer: answer = 5110
34 Correct 1 ms 348 KB Correct answer: answer = 2626
35 Correct 1 ms 420 KB Correct answer: answer = 796
36 Correct 2 ms 536 KB Correct answer: answer = 7580
37 Correct 1 ms 348 KB Correct answer: answer = 1904
38 Correct 1 ms 348 KB Correct answer: answer = 996004
39 Correct 1 ms 344 KB Correct answer: answer = 38817
40 Correct 1 ms 348 KB Correct answer: answer = 4096
41 Correct 0 ms 348 KB Correct answer: answer = 1
42 Correct 0 ms 348 KB Correct answer: answer = 1
43 Correct 1 ms 424 KB Correct answer: answer = 2040
44 Correct 1 ms 348 KB Correct answer: answer = 2
45 Correct 0 ms 348 KB Correct answer: answer = 4
46 Correct 0 ms 348 KB Correct answer: answer = 9
47 Correct 0 ms 344 KB Correct answer: answer = 9
48 Correct 0 ms 344 KB Correct answer: answer = 21
49 Correct 0 ms 344 KB Correct answer: answer = 71
50 Correct 0 ms 348 KB Correct answer: answer = 77
51 Correct 0 ms 348 KB Correct answer: answer = 400
52 Correct 0 ms 348 KB Correct answer: answer = 996004
53 Correct 0 ms 544 KB Correct answer: answer = 997310
54 Correct 1 ms 344 KB Correct answer: answer = 990781
55 Correct 0 ms 348 KB Correct answer: answer = 996545
56 Correct 0 ms 348 KB Correct answer: answer = 484
57 Correct 0 ms 420 KB Correct answer: answer = 484
58 Correct 1 ms 348 KB Correct answer: answer = 63501
59 Correct 1 ms 348 KB Correct answer: answer = 323501
60 Correct 1 ms 348 KB Correct answer: answer = 752500
61 Correct 1 ms 348 KB Correct answer: answer = 761480
62 Correct 1 ms 348 KB Correct answer: answer = 758932
63 Correct 0 ms 344 KB Correct answer: answer = 1000000
64 Correct 1 ms 348 KB Correct answer: answer = 750500
65 Correct 0 ms 348 KB Correct answer: answer = 1000000
66 Correct 0 ms 344 KB Correct answer: answer = 250000
67 Correct 0 ms 348 KB Correct answer: answer = 250000
68 Correct 0 ms 348 KB Correct answer: answer = 1000000
69 Correct 0 ms 348 KB Correct answer: answer = 994009
70 Correct 1 ms 348 KB Correct answer: answer = 59315
71 Correct 1 ms 348 KB Correct answer: answer = 25454
72 Correct 1 ms 348 KB Correct answer: answer = 1504
73 Correct 0 ms 348 KB Correct answer: answer = 37486
74 Correct 1 ms 348 KB Correct answer: answer = 4284
75 Correct 1 ms 348 KB Correct answer: answer = 158008
76 Correct 1 ms 348 KB Correct answer: answer = 51860
77 Correct 1 ms 348 KB Correct answer: answer = 12985
78 Correct 1 ms 348 KB Correct answer: answer = 997864126212
79 Correct 1 ms 604 KB Correct answer: answer = 998608411647
80 Correct 1 ms 348 KB Correct answer: answer = 995265560477
81 Correct 5 ms 600 KB Correct answer: answer = 10125000
82 Correct 5 ms 732 KB Correct answer: answer = 2291668
83 Correct 3 ms 348 KB Correct answer: answer = 42388
84 Correct 3 ms 600 KB Correct answer: answer = 10318
85 Correct 3 ms 348 KB Correct answer: answer = 3416
86 Correct 6 ms 600 KB Correct answer: answer = 331708193881
87 Correct 6 ms 604 KB Correct answer: answer = 2861193756
88 Correct 8 ms 756 KB Correct answer: answer = 114646930
89 Correct 6 ms 604 KB Correct answer: answer = 9280921
90 Correct 5 ms 604 KB Correct answer: answer = 999984053400
91 Correct 6 ms 604 KB Correct answer: answer = 750935949134
92 Correct 1 ms 344 KB Correct answer: answer = 1000000000000
93 Correct 2 ms 604 KB Correct answer: answer = 998762383161
94 Correct 6 ms 560 KB Correct answer: answer = 23017412908
95 Correct 1 ms 604 KB Correct answer: answer = 728143410622
96 Correct 1 ms 348 KB Correct answer: answer = 2
97 Correct 7 ms 604 KB Correct answer: answer = 1824916
98 Correct 7 ms 600 KB Correct answer: answer = 10680029
99 Correct 6 ms 604 KB Correct answer: answer = 18351700
100 Correct 5 ms 744 KB Correct answer: answer = 16040026
101 Correct 1 ms 604 KB Correct answer: answer = 253968628325
102 Correct 3 ms 348 KB Correct answer: answer = 10267
103 Correct 6 ms 752 KB Correct answer: answer = 2582408
104 Correct 1 ms 600 KB Correct answer: answer = 78024964781
105 Correct 1 ms 600 KB Correct answer: answer = 9866346457
106 Correct 2 ms 604 KB Correct answer: answer = 3327720949
107 Correct 1 ms 604 KB Correct answer: answer = 86064128360
108 Correct 2 ms 604 KB Correct answer: answer = 12698259150
109 Correct 4 ms 604 KB Correct answer: answer = 1185259288
110 Correct 10 ms 2676 KB Correct answer: answer = 999889968863
111 Correct 11 ms 2652 KB Correct answer: answer = 999861384931
112 Correct 11 ms 2520 KB Correct answer: answer = 999811809929
113 Correct 11 ms 2652 KB Correct answer: answer = 999869756441
114 Correct 60 ms 4612 KB Correct answer: answer = 1700000000
115 Correct 70 ms 4576 KB Correct answer: answer = 131666670
116 Correct 20 ms 1836 KB Correct answer: answer = 89478486
117 Correct 22 ms 1752 KB Correct answer: answer = 4971040
118 Correct 21 ms 1584 KB Correct answer: answer = 2711494
119 Correct 70 ms 4476 KB Correct answer: answer = 25252530
120 Correct 69 ms 4548 KB Correct answer: answer = 62500000
121 Correct 71 ms 4304 KB Correct answer: answer = 333175097780
122 Correct 73 ms 4304 KB Correct answer: answer = 33121180179
123 Correct 71 ms 4304 KB Correct answer: answer = 9802314015
124 Correct 71 ms 4552 KB Correct answer: answer = 32567551
125 Correct 73 ms 4616 KB Correct answer: answer = 997525000000
126 Correct 71 ms 4304 KB Correct answer: answer = 752723538884
127 Correct 8 ms 2648 KB Correct answer: answer = 1000000000000
128 Correct 11 ms 2652 KB Correct answer: answer = 999978000121
129 Correct 11 ms 2688 KB Correct answer: answer = 745986144735
130 Correct 7 ms 2152 KB Correct answer: answer = 2
131 Correct 69 ms 4664 KB Correct answer: answer = 277966670
132 Correct 62 ms 4744 KB Correct answer: answer = 2500900082
133 Correct 18 ms 2652 KB Correct answer: answer = 301248349636
134 Correct 38 ms 2268 KB Correct answer: answer = 14118891
135 Correct 11 ms 2652 KB Correct answer: answer = 14384977265
136 Correct 11 ms 2652 KB Correct answer: answer = 3681368330
137 Correct 13 ms 2648 KB Correct answer: answer = 2720316816
138 Correct 22 ms 4688 KB Correct answer: answer = 999976000144
139 Correct 21 ms 4920 KB Correct answer: answer = 999856102410
140 Correct 21 ms 4700 KB Correct answer: answer = 999958401531
141 Correct 21 ms 4692 KB Correct answer: answer = 999769649944
142 Correct 21 ms 4700 KB Correct answer: answer = 999874525918
143 Correct 129 ms 8848 KB Correct answer: answer = 6050000000
144 Correct 137 ms 8956 KB Correct answer: answer = 1112500000
145 Correct 71 ms 6084 KB Correct answer: answer = 4294967296
146 Correct 93 ms 6076 KB Correct answer: answer = 87652406
147 Correct 93 ms 6056 KB Correct answer: answer = 6297664
148 Correct 84 ms 6088 KB Correct answer: answer = 196612
149 Correct 147 ms 8940 KB Correct answer: answer = 15015100
150 Correct 140 ms 8848 KB Correct answer: answer = 25000000
151 Correct 138 ms 8092 KB Correct answer: answer = 333230209550
152 Correct 143 ms 7916 KB Correct answer: answer = 917123769
153 Correct 134 ms 8096 KB Correct answer: answer = 95162
154 Correct 143 ms 8852 KB Correct answer: answer = 382616191
155 Correct 144 ms 9040 KB Correct answer: answer = 990033333400
156 Correct 139 ms 9048 KB Correct answer: answer = 990000100000
157 Correct 124 ms 7620 KB Correct answer: answer = 749998188180
158 Correct 16 ms 4700 KB Correct answer: answer = 1000000000000
159 Correct 21 ms 4700 KB Correct answer: answer = 999988000036
160 Correct 21 ms 4692 KB Correct answer: answer = 744929274393
161 Correct 14 ms 3928 KB Correct answer: answer = 2
162 Correct 143 ms 8932 KB Correct answer: answer = 1300024
163 Correct 136 ms 8760 KB Correct answer: answer = 5000700010
164 Correct 35 ms 5212 KB Correct answer: answer = 354997100800
165 Correct 76 ms 4300 KB Correct answer: answer = 257000
166 Correct 76 ms 5052 KB Correct answer: answer = 3765323
167 Correct 80 ms 4624 KB Correct answer: answer = 1525903
168 Correct 21 ms 4700 KB Correct answer: answer = 67618137730
169 Correct 24 ms 4688 KB Correct answer: answer = 12656680171
170 Correct 24 ms 4956 KB Correct answer: answer = 579831736
171 Correct 60 ms 5840 KB Correct answer: answer = 23605611
172 Correct 25 ms 4944 KB Correct answer: answer = 7052481200
173 Correct 36 ms 5364 KB Correct answer: answer = 1314039500
174 Correct 39 ms 5580 KB Correct answer: answer = 302484000
175 Correct 83 ms 6860 KB Correct answer: answer = 52348480