Submission #860662

# Submission time Handle Problem Language Result Execution time Memory
860662 2023-10-13T16:03:12 Z E869120 Uplifting Excursion (BOI22_vault) C++14
80 / 100
5000 ms 60560 KB
#include <bits/stdc++.h>
using namespace std;
 
vector<long long> SolveDP(long long N, long long LIM, vector<long long> List, vector<long long> Init) {
    vector<long long> dp(LIM + 1, -(1LL << 60));
    if (Init.size() == 0) dp[0] = 0;
    else {
        for (int i = 0; i < min(LIM + 1, (long long)Init.size()); i++) dp[i] = Init[i];
    }
 
    // DP Start
    for (int i = 0; i < N; i++) {
        vector<long long> ndp(LIM + 1, -(1LL << 60));
        long long kazu = i + 1;
        for (int j = 0; j < kazu; j++) {
            vector<pair<long long, long long>> maxi;
            int cur = 0;
            for (int k = j; k <= LIM; k += kazu) {
                long long val = dp[k] - (k / kazu);
                while (maxi.size() >= cur + 1) {
                    if (maxi[maxi.size() - 1].second <= val) maxi.pop_back();
                    else break;
                }
                maxi.push_back(make_pair(1LL * k, val));
                if (maxi[cur].second >= -(1LL << 59)) ndp[k] = maxi[cur].second + (k / kazu);
                while (cur < (int)maxi.size() && maxi[cur].first <= k - 1LL * kazu * List[i]) cur += 1;
            }
        }
        dp = ndp;
    }
 
    // Return
    return dp;
}
 
vector<long long> SolveDP2(long long N, long long LIM, vector<long long> List) {
    vector<long long> dp(LIM + 1, -(1LL << 60));
    vector<long long> ret(N, 0);
    dp[0] = 0;
 
    // DP Start
    for (int i = N - 1; i >= 0; i--) {
        for (int j = 1; j <= min(N, List[i]); j++) {
            if (dp[(i + 1) * j] == -(1LL << 60)) ret[i] += 1;
            else break;
        }
        vector<long long> ndp(LIM + 1, -(1LL << 60));
        long long kazu = i + 1;
        for (int j = 0; j < kazu; j++) {
            vector<pair<long long, long long>> maxi;
            int cur = 0;
            for (int k = j; k <= LIM; k += kazu) {
                long long val = dp[k] - (k / kazu);
                while (maxi.size() >= cur + 1) {
                    if (maxi[maxi.size() - 1].second <= val) maxi.pop_back();
                    else break;
                }
                maxi.push_back(make_pair(1LL * k, val));
                if (maxi[cur].second >= -(1LL << 59)) ndp[k] = maxi[cur].second + (k / kazu);
                while (cur < (int)maxi.size() && maxi[cur].first <= k - 1LL * kazu * List[i]) cur += 1;
            }
        }
        dp = ndp;
    }
 
    // Return
    return ret;
}
 
long long Solve_Subtask6(long long M, long long L, vector<long long> A) {
    vector<long long> M0(M, 0), M1(M, 0), M2(M, 0), M3(M, 0); // Minus
    vector<long long> P0(M, 0), P1(M, 0), P2(M, 0), P3(M, 0); // Minus
 
    // Step 1. First DP
    for (int i = 0; i < M; i++) M0[i] = A[M - 1 - i];
    for (int i = 0; i < M; i++) P0[i] = A[M + 1 + i];
    M1 = SolveDP2(M, M * M + 1, M0);
    P1 = SolveDP2(M, M * M + 1, P0);
 
    // Step 2. Calculate Sum
    long long sumM = 0; for (int i = 0; i < M; i++) sumM += 1LL * (i + 1) * (M0[i] - M1[i]);
    long long sumP = 0; for (int i = 0; i < M; i++) sumP += 1LL * (i + 1) * (P0[i] - P1[i]);
    long long Offset = M * M + 10LL * M;
    long long Answer = 0;
    long long Actual = 0;
    if (sumP - sumM > L) sumP = sumM + L;
    else sumM = sumP - L;
 
    // Step 3. Greedy
    for (int i = 0; i < M; i++) {
        M2[i] = min(M0[i] - M1[i], max(0LL, sumM - Offset) / (i + 1));
        Answer += M2[i];
        sumM   -= 1LL * (i + 1) * M2[i];
        Actual -= 1LL * (i + 1) * M2[i];
        M3[i] = M0[i] - M2[i]; 
    }
    for (int i = 0; i < M; i++) {
        P2[i] = min(P0[i] - P1[i], max(0LL, sumP - Offset) / (i + 1));
        Answer += P2[i];
        sumP   -= 1LL * (i + 1) * P2[i];
        Actual += 1LL * (i + 1) * P2[i];
        P3[i] = P0[i] - P2[i]; 
    }
 
    // Step 4. Get Maximum
    long long Maximum = Offset + 10LL * M;
    for (int i = 0; i < M; i++) Maximum += 1LL * (i + 1) * M1[i];
    for (int i = 0; i < M; i++) Maximum += 1LL * (i + 1) * P1[i];
    if (abs(Actual - L) > Maximum) return -1;
 
    // Step 5. Get Answer
    vector<long long> dp1 = SolveDP(M, Maximum, M3, vector<long long>{});
    vector<long long> dp2 = vector<long long>(Maximum + 1, -(1LL << 60));
    for (int i = 0; i <= Maximum; i++) dp2[Maximum - i] = dp1[i];
    vector<long long> dp3 = SolveDP(M, Maximum + L - Actual, P3, dp2);
    if (dp3[Maximum + L - Actual] == -(1LL << 60)) return -1;
    return dp3[Maximum + L - Actual] + A[M] + Answer;
}
 
int main() {
    // Input
    long long M, L;
    cin >> M >> L;
    vector<long long> A(2 * M + 1, 0);
    for (int i = 0; i <= 2 * M; i++) cin >> A[i];
 
    // Output
    long long Answer = Solve_Subtask6(M, L, A);
    if (Answer == -1) cout << "impossible" << endl;
    else cout << Answer << endl;
    return 0;
}

Compilation message

vault.cpp: In function 'std::vector<long long int> SolveDP(long long int, long long int, std::vector<long long int>, std::vector<long long int>)':
vault.cpp:20:36: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |                 while (maxi.size() >= cur + 1) {
      |                        ~~~~~~~~~~~~^~~~~~~~~~
vault.cpp: In function 'std::vector<long long int> SolveDP2(long long int, long long int, std::vector<long long int>)':
vault.cpp:54:36: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   54 |                 while (maxi.size() >= cur + 1) {
      |                        ~~~~~~~~~~~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 380 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 3 ms 348 KB Output is correct
6 Correct 34 ms 1912 KB Output is correct
7 Correct 13 ms 856 KB Output is correct
8 Correct 33 ms 1820 KB Output is correct
9 Correct 28 ms 2068 KB Output is correct
10 Correct 15 ms 1224 KB Output is correct
11 Correct 14 ms 996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 380 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 3 ms 348 KB Output is correct
6 Correct 34 ms 1912 KB Output is correct
7 Correct 13 ms 856 KB Output is correct
8 Correct 33 ms 1820 KB Output is correct
9 Correct 28 ms 2068 KB Output is correct
10 Correct 15 ms 1224 KB Output is correct
11 Correct 14 ms 996 KB Output is correct
12 Correct 1 ms 388 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 1 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 4 ms 600 KB Output is correct
17 Correct 24 ms 1804 KB Output is correct
18 Correct 15 ms 856 KB Output is correct
19 Correct 25 ms 1820 KB Output is correct
20 Correct 29 ms 1940 KB Output is correct
21 Correct 15 ms 988 KB Output is correct
22 Correct 15 ms 1204 KB Output is correct
23 Correct 23 ms 860 KB Output is correct
24 Correct 245 ms 7892 KB Output is correct
25 Correct 203 ms 6724 KB Output is correct
26 Correct 279 ms 8460 KB Output is correct
27 Correct 271 ms 8416 KB Output is correct
28 Correct 111 ms 3424 KB Output is correct
29 Correct 111 ms 3196 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 5 ms 836 KB Output is correct
3 Correct 4 ms 600 KB Output is correct
4 Correct 4 ms 792 KB Output is correct
5 Correct 5 ms 784 KB Output is correct
6 Correct 4 ms 624 KB Output is correct
7 Correct 4 ms 604 KB Output is correct
8 Correct 3 ms 600 KB Output is correct
9 Correct 3 ms 600 KB Output is correct
10 Correct 4 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 5 ms 836 KB Output is correct
3 Correct 4 ms 600 KB Output is correct
4 Correct 4 ms 792 KB Output is correct
5 Correct 5 ms 784 KB Output is correct
6 Correct 4 ms 624 KB Output is correct
7 Correct 4 ms 604 KB Output is correct
8 Correct 3 ms 600 KB Output is correct
9 Correct 3 ms 600 KB Output is correct
10 Correct 4 ms 596 KB Output is correct
11 Correct 0 ms 344 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 600 KB Output is correct
15 Correct 5 ms 836 KB Output is correct
16 Correct 4 ms 600 KB Output is correct
17 Correct 5 ms 788 KB Output is correct
18 Correct 5 ms 660 KB Output is correct
19 Correct 4 ms 604 KB Output is correct
20 Correct 4 ms 604 KB Output is correct
21 Correct 3 ms 600 KB Output is correct
22 Correct 3 ms 600 KB Output is correct
23 Correct 3 ms 600 KB Output is correct
24 Correct 6 ms 864 KB Output is correct
25 Correct 6 ms 788 KB Output is correct
26 Correct 7 ms 864 KB Output is correct
27 Correct 6 ms 1132 KB Output is correct
28 Correct 6 ms 892 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 5 ms 836 KB Output is correct
3 Correct 4 ms 600 KB Output is correct
4 Correct 4 ms 792 KB Output is correct
5 Correct 5 ms 784 KB Output is correct
6 Correct 4 ms 624 KB Output is correct
7 Correct 4 ms 604 KB Output is correct
8 Correct 3 ms 600 KB Output is correct
9 Correct 3 ms 600 KB Output is correct
10 Correct 4 ms 596 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 5 ms 836 KB Output is correct
13 Correct 4 ms 744 KB Output is correct
14 Correct 5 ms 792 KB Output is correct
15 Correct 5 ms 1036 KB Output is correct
16 Correct 4 ms 616 KB Output is correct
17 Correct 4 ms 604 KB Output is correct
18 Correct 3 ms 600 KB Output is correct
19 Correct 3 ms 588 KB Output is correct
20 Correct 3 ms 600 KB Output is correct
21 Correct 15 ms 1244 KB Output is correct
22 Correct 14 ms 996 KB Output is correct
23 Correct 24 ms 1796 KB Output is correct
24 Correct 23 ms 1828 KB Output is correct
25 Correct 18 ms 1316 KB Output is correct
26 Correct 22 ms 1684 KB Output is correct
27 Correct 20 ms 1296 KB Output is correct
28 Correct 14 ms 1500 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 380 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 3 ms 348 KB Output is correct
6 Correct 34 ms 1912 KB Output is correct
7 Correct 13 ms 856 KB Output is correct
8 Correct 33 ms 1820 KB Output is correct
9 Correct 28 ms 2068 KB Output is correct
10 Correct 15 ms 1224 KB Output is correct
11 Correct 14 ms 996 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 5 ms 836 KB Output is correct
14 Correct 4 ms 600 KB Output is correct
15 Correct 4 ms 792 KB Output is correct
16 Correct 5 ms 784 KB Output is correct
17 Correct 4 ms 624 KB Output is correct
18 Correct 4 ms 604 KB Output is correct
19 Correct 3 ms 600 KB Output is correct
20 Correct 3 ms 600 KB Output is correct
21 Correct 4 ms 596 KB Output is correct
22 Correct 0 ms 344 KB Output is correct
23 Correct 0 ms 348 KB Output is correct
24 Correct 0 ms 348 KB Output is correct
25 Correct 0 ms 600 KB Output is correct
26 Correct 5 ms 836 KB Output is correct
27 Correct 4 ms 600 KB Output is correct
28 Correct 5 ms 788 KB Output is correct
29 Correct 5 ms 660 KB Output is correct
30 Correct 4 ms 604 KB Output is correct
31 Correct 4 ms 604 KB Output is correct
32 Correct 3 ms 600 KB Output is correct
33 Correct 3 ms 600 KB Output is correct
34 Correct 3 ms 600 KB Output is correct
35 Correct 6 ms 864 KB Output is correct
36 Correct 6 ms 788 KB Output is correct
37 Correct 7 ms 864 KB Output is correct
38 Correct 6 ms 1132 KB Output is correct
39 Correct 6 ms 892 KB Output is correct
40 Correct 1 ms 348 KB Output is correct
41 Correct 5 ms 836 KB Output is correct
42 Correct 4 ms 744 KB Output is correct
43 Correct 5 ms 792 KB Output is correct
44 Correct 5 ms 1036 KB Output is correct
45 Correct 4 ms 616 KB Output is correct
46 Correct 4 ms 604 KB Output is correct
47 Correct 3 ms 600 KB Output is correct
48 Correct 3 ms 588 KB Output is correct
49 Correct 3 ms 600 KB Output is correct
50 Correct 15 ms 1244 KB Output is correct
51 Correct 14 ms 996 KB Output is correct
52 Correct 24 ms 1796 KB Output is correct
53 Correct 23 ms 1828 KB Output is correct
54 Correct 18 ms 1316 KB Output is correct
55 Correct 22 ms 1684 KB Output is correct
56 Correct 20 ms 1296 KB Output is correct
57 Correct 14 ms 1500 KB Output is correct
58 Correct 1 ms 348 KB Output is correct
59 Correct 0 ms 348 KB Output is correct
60 Correct 0 ms 348 KB Output is correct
61 Correct 0 ms 348 KB Output is correct
62 Correct 3 ms 348 KB Output is correct
63 Correct 24 ms 1980 KB Output is correct
64 Correct 13 ms 856 KB Output is correct
65 Correct 24 ms 1820 KB Output is correct
66 Correct 28 ms 1940 KB Output is correct
67 Correct 15 ms 1080 KB Output is correct
68 Correct 14 ms 996 KB Output is correct
69 Correct 5 ms 836 KB Output is correct
70 Correct 4 ms 740 KB Output is correct
71 Correct 5 ms 788 KB Output is correct
72 Correct 5 ms 780 KB Output is correct
73 Correct 4 ms 620 KB Output is correct
74 Correct 4 ms 604 KB Output is correct
75 Correct 3 ms 600 KB Output is correct
76 Correct 4 ms 600 KB Output is correct
77 Correct 3 ms 600 KB Output is correct
78 Correct 6 ms 864 KB Output is correct
79 Correct 6 ms 816 KB Output is correct
80 Correct 7 ms 864 KB Output is correct
81 Correct 6 ms 880 KB Output is correct
82 Correct 6 ms 876 KB Output is correct
83 Correct 24 ms 1796 KB Output is correct
84 Correct 23 ms 1828 KB Output is correct
85 Correct 20 ms 1316 KB Output is correct
86 Correct 22 ms 1788 KB Output is correct
87 Correct 19 ms 1300 KB Output is correct
88 Correct 14 ms 992 KB Output is correct
89 Correct 29 ms 1972 KB Output is correct
90 Correct 31 ms 2188 KB Output is correct
91 Correct 26 ms 2032 KB Output is correct
92 Correct 27 ms 2016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 5 ms 836 KB Output is correct
3 Correct 4 ms 600 KB Output is correct
4 Correct 4 ms 792 KB Output is correct
5 Correct 5 ms 784 KB Output is correct
6 Correct 4 ms 624 KB Output is correct
7 Correct 4 ms 604 KB Output is correct
8 Correct 3 ms 600 KB Output is correct
9 Correct 3 ms 600 KB Output is correct
10 Correct 4 ms 596 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 5 ms 836 KB Output is correct
13 Correct 4 ms 744 KB Output is correct
14 Correct 5 ms 792 KB Output is correct
15 Correct 5 ms 1036 KB Output is correct
16 Correct 4 ms 616 KB Output is correct
17 Correct 4 ms 604 KB Output is correct
18 Correct 3 ms 600 KB Output is correct
19 Correct 3 ms 588 KB Output is correct
20 Correct 3 ms 600 KB Output is correct
21 Correct 15 ms 1244 KB Output is correct
22 Correct 14 ms 996 KB Output is correct
23 Correct 24 ms 1796 KB Output is correct
24 Correct 23 ms 1828 KB Output is correct
25 Correct 18 ms 1316 KB Output is correct
26 Correct 22 ms 1684 KB Output is correct
27 Correct 20 ms 1296 KB Output is correct
28 Correct 14 ms 1500 KB Output is correct
29 Correct 0 ms 344 KB Output is correct
30 Correct 5 ms 836 KB Output is correct
31 Correct 4 ms 604 KB Output is correct
32 Correct 5 ms 792 KB Output is correct
33 Correct 5 ms 784 KB Output is correct
34 Correct 5 ms 604 KB Output is correct
35 Correct 4 ms 604 KB Output is correct
36 Correct 4 ms 672 KB Output is correct
37 Correct 4 ms 600 KB Output is correct
38 Correct 3 ms 600 KB Output is correct
39 Correct 15 ms 1236 KB Output is correct
40 Correct 14 ms 996 KB Output is correct
41 Correct 24 ms 1792 KB Output is correct
42 Correct 23 ms 1824 KB Output is correct
43 Correct 19 ms 1316 KB Output is correct
44 Correct 22 ms 1784 KB Output is correct
45 Correct 21 ms 1296 KB Output is correct
46 Correct 14 ms 992 KB Output is correct
47 Correct 112 ms 3468 KB Output is correct
48 Correct 111 ms 3188 KB Output is correct
49 Correct 166 ms 5924 KB Output is correct
50 Correct 135 ms 4180 KB Output is correct
51 Correct 176 ms 6116 KB Output is correct
52 Correct 180 ms 6088 KB Output is correct
53 Correct 160 ms 4504 KB Output is correct
54 Correct 107 ms 3296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 380 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 3 ms 348 KB Output is correct
6 Correct 34 ms 1912 KB Output is correct
7 Correct 13 ms 856 KB Output is correct
8 Correct 33 ms 1820 KB Output is correct
9 Correct 28 ms 2068 KB Output is correct
10 Correct 15 ms 1224 KB Output is correct
11 Correct 14 ms 996 KB Output is correct
12 Correct 1 ms 388 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 1 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 4 ms 600 KB Output is correct
17 Correct 24 ms 1804 KB Output is correct
18 Correct 15 ms 856 KB Output is correct
19 Correct 25 ms 1820 KB Output is correct
20 Correct 29 ms 1940 KB Output is correct
21 Correct 15 ms 988 KB Output is correct
22 Correct 15 ms 1204 KB Output is correct
23 Correct 23 ms 860 KB Output is correct
24 Correct 245 ms 7892 KB Output is correct
25 Correct 203 ms 6724 KB Output is correct
26 Correct 279 ms 8460 KB Output is correct
27 Correct 271 ms 8416 KB Output is correct
28 Correct 111 ms 3424 KB Output is correct
29 Correct 111 ms 3196 KB Output is correct
30 Correct 0 ms 348 KB Output is correct
31 Correct 5 ms 836 KB Output is correct
32 Correct 4 ms 600 KB Output is correct
33 Correct 4 ms 792 KB Output is correct
34 Correct 5 ms 784 KB Output is correct
35 Correct 4 ms 624 KB Output is correct
36 Correct 4 ms 604 KB Output is correct
37 Correct 3 ms 600 KB Output is correct
38 Correct 3 ms 600 KB Output is correct
39 Correct 4 ms 596 KB Output is correct
40 Correct 0 ms 344 KB Output is correct
41 Correct 0 ms 348 KB Output is correct
42 Correct 0 ms 348 KB Output is correct
43 Correct 0 ms 600 KB Output is correct
44 Correct 5 ms 836 KB Output is correct
45 Correct 4 ms 600 KB Output is correct
46 Correct 5 ms 788 KB Output is correct
47 Correct 5 ms 660 KB Output is correct
48 Correct 4 ms 604 KB Output is correct
49 Correct 4 ms 604 KB Output is correct
50 Correct 3 ms 600 KB Output is correct
51 Correct 3 ms 600 KB Output is correct
52 Correct 3 ms 600 KB Output is correct
53 Correct 6 ms 864 KB Output is correct
54 Correct 6 ms 788 KB Output is correct
55 Correct 7 ms 864 KB Output is correct
56 Correct 6 ms 1132 KB Output is correct
57 Correct 6 ms 892 KB Output is correct
58 Correct 1 ms 348 KB Output is correct
59 Correct 5 ms 836 KB Output is correct
60 Correct 4 ms 744 KB Output is correct
61 Correct 5 ms 792 KB Output is correct
62 Correct 5 ms 1036 KB Output is correct
63 Correct 4 ms 616 KB Output is correct
64 Correct 4 ms 604 KB Output is correct
65 Correct 3 ms 600 KB Output is correct
66 Correct 3 ms 588 KB Output is correct
67 Correct 3 ms 600 KB Output is correct
68 Correct 15 ms 1244 KB Output is correct
69 Correct 14 ms 996 KB Output is correct
70 Correct 24 ms 1796 KB Output is correct
71 Correct 23 ms 1828 KB Output is correct
72 Correct 18 ms 1316 KB Output is correct
73 Correct 22 ms 1684 KB Output is correct
74 Correct 20 ms 1296 KB Output is correct
75 Correct 14 ms 1500 KB Output is correct
76 Correct 1 ms 348 KB Output is correct
77 Correct 0 ms 348 KB Output is correct
78 Correct 0 ms 348 KB Output is correct
79 Correct 0 ms 348 KB Output is correct
80 Correct 3 ms 348 KB Output is correct
81 Correct 24 ms 1980 KB Output is correct
82 Correct 13 ms 856 KB Output is correct
83 Correct 24 ms 1820 KB Output is correct
84 Correct 28 ms 1940 KB Output is correct
85 Correct 15 ms 1080 KB Output is correct
86 Correct 14 ms 996 KB Output is correct
87 Correct 5 ms 836 KB Output is correct
88 Correct 4 ms 740 KB Output is correct
89 Correct 5 ms 788 KB Output is correct
90 Correct 5 ms 780 KB Output is correct
91 Correct 4 ms 620 KB Output is correct
92 Correct 4 ms 604 KB Output is correct
93 Correct 3 ms 600 KB Output is correct
94 Correct 4 ms 600 KB Output is correct
95 Correct 3 ms 600 KB Output is correct
96 Correct 6 ms 864 KB Output is correct
97 Correct 6 ms 816 KB Output is correct
98 Correct 7 ms 864 KB Output is correct
99 Correct 6 ms 880 KB Output is correct
100 Correct 6 ms 876 KB Output is correct
101 Correct 24 ms 1796 KB Output is correct
102 Correct 23 ms 1828 KB Output is correct
103 Correct 20 ms 1316 KB Output is correct
104 Correct 22 ms 1788 KB Output is correct
105 Correct 19 ms 1300 KB Output is correct
106 Correct 14 ms 992 KB Output is correct
107 Correct 29 ms 1972 KB Output is correct
108 Correct 31 ms 2188 KB Output is correct
109 Correct 26 ms 2032 KB Output is correct
110 Correct 27 ms 2016 KB Output is correct
111 Correct 0 ms 344 KB Output is correct
112 Correct 5 ms 836 KB Output is correct
113 Correct 4 ms 604 KB Output is correct
114 Correct 5 ms 792 KB Output is correct
115 Correct 5 ms 784 KB Output is correct
116 Correct 5 ms 604 KB Output is correct
117 Correct 4 ms 604 KB Output is correct
118 Correct 4 ms 672 KB Output is correct
119 Correct 4 ms 600 KB Output is correct
120 Correct 3 ms 600 KB Output is correct
121 Correct 15 ms 1236 KB Output is correct
122 Correct 14 ms 996 KB Output is correct
123 Correct 24 ms 1792 KB Output is correct
124 Correct 23 ms 1824 KB Output is correct
125 Correct 19 ms 1316 KB Output is correct
126 Correct 22 ms 1784 KB Output is correct
127 Correct 21 ms 1296 KB Output is correct
128 Correct 14 ms 992 KB Output is correct
129 Correct 112 ms 3468 KB Output is correct
130 Correct 111 ms 3188 KB Output is correct
131 Correct 166 ms 5924 KB Output is correct
132 Correct 135 ms 4180 KB Output is correct
133 Correct 176 ms 6116 KB Output is correct
134 Correct 180 ms 6088 KB Output is correct
135 Correct 160 ms 4504 KB Output is correct
136 Correct 107 ms 3296 KB Output is correct
137 Correct 0 ms 348 KB Output is correct
138 Correct 0 ms 348 KB Output is correct
139 Correct 0 ms 348 KB Output is correct
140 Correct 1 ms 348 KB Output is correct
141 Correct 3 ms 348 KB Output is correct
142 Correct 24 ms 1828 KB Output is correct
143 Correct 13 ms 840 KB Output is correct
144 Correct 24 ms 1820 KB Output is correct
145 Correct 28 ms 1944 KB Output is correct
146 Correct 15 ms 1244 KB Output is correct
147 Correct 15 ms 996 KB Output is correct
148 Correct 23 ms 856 KB Output is correct
149 Correct 241 ms 7796 KB Output is correct
150 Correct 209 ms 6720 KB Output is correct
151 Correct 270 ms 8460 KB Output is correct
152 Correct 271 ms 8456 KB Output is correct
153 Correct 113 ms 3504 KB Output is correct
154 Correct 108 ms 3272 KB Output is correct
155 Correct 5 ms 836 KB Output is correct
156 Correct 4 ms 600 KB Output is correct
157 Correct 5 ms 792 KB Output is correct
158 Correct 5 ms 784 KB Output is correct
159 Correct 4 ms 624 KB Output is correct
160 Correct 4 ms 600 KB Output is correct
161 Correct 4 ms 848 KB Output is correct
162 Correct 3 ms 600 KB Output is correct
163 Correct 3 ms 600 KB Output is correct
164 Correct 25 ms 1792 KB Output is correct
165 Correct 23 ms 1828 KB Output is correct
166 Correct 18 ms 1372 KB Output is correct
167 Correct 22 ms 1784 KB Output is correct
168 Correct 20 ms 1296 KB Output is correct
169 Correct 14 ms 992 KB Output is correct
170 Correct 6 ms 860 KB Output is correct
171 Correct 5 ms 788 KB Output is correct
172 Correct 7 ms 840 KB Output is correct
173 Correct 6 ms 880 KB Output is correct
174 Correct 7 ms 876 KB Output is correct
175 Correct 29 ms 1980 KB Output is correct
176 Correct 31 ms 2196 KB Output is correct
177 Correct 26 ms 1968 KB Output is correct
178 Correct 27 ms 2012 KB Output is correct
179 Correct 170 ms 6000 KB Output is correct
180 Correct 135 ms 4176 KB Output is correct
181 Correct 176 ms 6108 KB Output is correct
182 Correct 177 ms 6096 KB Output is correct
183 Correct 156 ms 4512 KB Output is correct
184 Correct 108 ms 3488 KB Output is correct
185 Correct 217 ms 7284 KB Output is correct
186 Correct 269 ms 8536 KB Output is correct
187 Correct 243 ms 7860 KB Output is correct
188 Correct 239 ms 7764 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 5 ms 836 KB Output is correct
3 Correct 4 ms 600 KB Output is correct
4 Correct 4 ms 792 KB Output is correct
5 Correct 5 ms 784 KB Output is correct
6 Correct 4 ms 624 KB Output is correct
7 Correct 4 ms 604 KB Output is correct
8 Correct 3 ms 600 KB Output is correct
9 Correct 3 ms 600 KB Output is correct
10 Correct 4 ms 596 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 5 ms 836 KB Output is correct
13 Correct 4 ms 744 KB Output is correct
14 Correct 5 ms 792 KB Output is correct
15 Correct 5 ms 1036 KB Output is correct
16 Correct 4 ms 616 KB Output is correct
17 Correct 4 ms 604 KB Output is correct
18 Correct 3 ms 600 KB Output is correct
19 Correct 3 ms 588 KB Output is correct
20 Correct 3 ms 600 KB Output is correct
21 Correct 15 ms 1244 KB Output is correct
22 Correct 14 ms 996 KB Output is correct
23 Correct 24 ms 1796 KB Output is correct
24 Correct 23 ms 1828 KB Output is correct
25 Correct 18 ms 1316 KB Output is correct
26 Correct 22 ms 1684 KB Output is correct
27 Correct 20 ms 1296 KB Output is correct
28 Correct 14 ms 1500 KB Output is correct
29 Correct 0 ms 344 KB Output is correct
30 Correct 5 ms 836 KB Output is correct
31 Correct 4 ms 604 KB Output is correct
32 Correct 5 ms 792 KB Output is correct
33 Correct 5 ms 784 KB Output is correct
34 Correct 5 ms 604 KB Output is correct
35 Correct 4 ms 604 KB Output is correct
36 Correct 4 ms 672 KB Output is correct
37 Correct 4 ms 600 KB Output is correct
38 Correct 3 ms 600 KB Output is correct
39 Correct 15 ms 1236 KB Output is correct
40 Correct 14 ms 996 KB Output is correct
41 Correct 24 ms 1792 KB Output is correct
42 Correct 23 ms 1824 KB Output is correct
43 Correct 19 ms 1316 KB Output is correct
44 Correct 22 ms 1784 KB Output is correct
45 Correct 21 ms 1296 KB Output is correct
46 Correct 14 ms 992 KB Output is correct
47 Correct 112 ms 3468 KB Output is correct
48 Correct 111 ms 3188 KB Output is correct
49 Correct 166 ms 5924 KB Output is correct
50 Correct 135 ms 4180 KB Output is correct
51 Correct 176 ms 6116 KB Output is correct
52 Correct 180 ms 6088 KB Output is correct
53 Correct 160 ms 4504 KB Output is correct
54 Correct 107 ms 3296 KB Output is correct
55 Correct 1 ms 348 KB Output is correct
56 Correct 5 ms 836 KB Output is correct
57 Correct 5 ms 596 KB Output is correct
58 Correct 5 ms 788 KB Output is correct
59 Correct 5 ms 784 KB Output is correct
60 Correct 4 ms 832 KB Output is correct
61 Correct 4 ms 600 KB Output is correct
62 Correct 3 ms 600 KB Output is correct
63 Correct 4 ms 600 KB Output is correct
64 Correct 4 ms 600 KB Output is correct
65 Correct 15 ms 1228 KB Output is correct
66 Correct 15 ms 996 KB Output is correct
67 Correct 25 ms 1664 KB Output is correct
68 Correct 26 ms 1824 KB Output is correct
69 Correct 18 ms 1368 KB Output is correct
70 Correct 22 ms 1784 KB Output is correct
71 Correct 19 ms 1300 KB Output is correct
72 Correct 14 ms 992 KB Output is correct
73 Correct 111 ms 3260 KB Output is correct
74 Correct 107 ms 3192 KB Output is correct
75 Correct 168 ms 5892 KB Output is correct
76 Correct 135 ms 4172 KB Output is correct
77 Correct 179 ms 6112 KB Output is correct
78 Correct 178 ms 6100 KB Output is correct
79 Correct 159 ms 4532 KB Output is correct
80 Correct 107 ms 3464 KB Output is correct
81 Execution timed out 5074 ms 60560 KB Time limit exceeded
82 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 380 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 3 ms 348 KB Output is correct
6 Correct 34 ms 1912 KB Output is correct
7 Correct 13 ms 856 KB Output is correct
8 Correct 33 ms 1820 KB Output is correct
9 Correct 28 ms 2068 KB Output is correct
10 Correct 15 ms 1224 KB Output is correct
11 Correct 14 ms 996 KB Output is correct
12 Correct 1 ms 388 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 1 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 4 ms 600 KB Output is correct
17 Correct 24 ms 1804 KB Output is correct
18 Correct 15 ms 856 KB Output is correct
19 Correct 25 ms 1820 KB Output is correct
20 Correct 29 ms 1940 KB Output is correct
21 Correct 15 ms 988 KB Output is correct
22 Correct 15 ms 1204 KB Output is correct
23 Correct 23 ms 860 KB Output is correct
24 Correct 245 ms 7892 KB Output is correct
25 Correct 203 ms 6724 KB Output is correct
26 Correct 279 ms 8460 KB Output is correct
27 Correct 271 ms 8416 KB Output is correct
28 Correct 111 ms 3424 KB Output is correct
29 Correct 111 ms 3196 KB Output is correct
30 Correct 0 ms 348 KB Output is correct
31 Correct 5 ms 836 KB Output is correct
32 Correct 4 ms 600 KB Output is correct
33 Correct 4 ms 792 KB Output is correct
34 Correct 5 ms 784 KB Output is correct
35 Correct 4 ms 624 KB Output is correct
36 Correct 4 ms 604 KB Output is correct
37 Correct 3 ms 600 KB Output is correct
38 Correct 3 ms 600 KB Output is correct
39 Correct 4 ms 596 KB Output is correct
40 Correct 0 ms 344 KB Output is correct
41 Correct 0 ms 348 KB Output is correct
42 Correct 0 ms 348 KB Output is correct
43 Correct 0 ms 600 KB Output is correct
44 Correct 5 ms 836 KB Output is correct
45 Correct 4 ms 600 KB Output is correct
46 Correct 5 ms 788 KB Output is correct
47 Correct 5 ms 660 KB Output is correct
48 Correct 4 ms 604 KB Output is correct
49 Correct 4 ms 604 KB Output is correct
50 Correct 3 ms 600 KB Output is correct
51 Correct 3 ms 600 KB Output is correct
52 Correct 3 ms 600 KB Output is correct
53 Correct 6 ms 864 KB Output is correct
54 Correct 6 ms 788 KB Output is correct
55 Correct 7 ms 864 KB Output is correct
56 Correct 6 ms 1132 KB Output is correct
57 Correct 6 ms 892 KB Output is correct
58 Correct 1 ms 348 KB Output is correct
59 Correct 5 ms 836 KB Output is correct
60 Correct 4 ms 744 KB Output is correct
61 Correct 5 ms 792 KB Output is correct
62 Correct 5 ms 1036 KB Output is correct
63 Correct 4 ms 616 KB Output is correct
64 Correct 4 ms 604 KB Output is correct
65 Correct 3 ms 600 KB Output is correct
66 Correct 3 ms 588 KB Output is correct
67 Correct 3 ms 600 KB Output is correct
68 Correct 15 ms 1244 KB Output is correct
69 Correct 14 ms 996 KB Output is correct
70 Correct 24 ms 1796 KB Output is correct
71 Correct 23 ms 1828 KB Output is correct
72 Correct 18 ms 1316 KB Output is correct
73 Correct 22 ms 1684 KB Output is correct
74 Correct 20 ms 1296 KB Output is correct
75 Correct 14 ms 1500 KB Output is correct
76 Correct 1 ms 348 KB Output is correct
77 Correct 0 ms 348 KB Output is correct
78 Correct 0 ms 348 KB Output is correct
79 Correct 0 ms 348 KB Output is correct
80 Correct 3 ms 348 KB Output is correct
81 Correct 24 ms 1980 KB Output is correct
82 Correct 13 ms 856 KB Output is correct
83 Correct 24 ms 1820 KB Output is correct
84 Correct 28 ms 1940 KB Output is correct
85 Correct 15 ms 1080 KB Output is correct
86 Correct 14 ms 996 KB Output is correct
87 Correct 5 ms 836 KB Output is correct
88 Correct 4 ms 740 KB Output is correct
89 Correct 5 ms 788 KB Output is correct
90 Correct 5 ms 780 KB Output is correct
91 Correct 4 ms 620 KB Output is correct
92 Correct 4 ms 604 KB Output is correct
93 Correct 3 ms 600 KB Output is correct
94 Correct 4 ms 600 KB Output is correct
95 Correct 3 ms 600 KB Output is correct
96 Correct 6 ms 864 KB Output is correct
97 Correct 6 ms 816 KB Output is correct
98 Correct 7 ms 864 KB Output is correct
99 Correct 6 ms 880 KB Output is correct
100 Correct 6 ms 876 KB Output is correct
101 Correct 24 ms 1796 KB Output is correct
102 Correct 23 ms 1828 KB Output is correct
103 Correct 20 ms 1316 KB Output is correct
104 Correct 22 ms 1788 KB Output is correct
105 Correct 19 ms 1300 KB Output is correct
106 Correct 14 ms 992 KB Output is correct
107 Correct 29 ms 1972 KB Output is correct
108 Correct 31 ms 2188 KB Output is correct
109 Correct 26 ms 2032 KB Output is correct
110 Correct 27 ms 2016 KB Output is correct
111 Correct 0 ms 344 KB Output is correct
112 Correct 5 ms 836 KB Output is correct
113 Correct 4 ms 604 KB Output is correct
114 Correct 5 ms 792 KB Output is correct
115 Correct 5 ms 784 KB Output is correct
116 Correct 5 ms 604 KB Output is correct
117 Correct 4 ms 604 KB Output is correct
118 Correct 4 ms 672 KB Output is correct
119 Correct 4 ms 600 KB Output is correct
120 Correct 3 ms 600 KB Output is correct
121 Correct 15 ms 1236 KB Output is correct
122 Correct 14 ms 996 KB Output is correct
123 Correct 24 ms 1792 KB Output is correct
124 Correct 23 ms 1824 KB Output is correct
125 Correct 19 ms 1316 KB Output is correct
126 Correct 22 ms 1784 KB Output is correct
127 Correct 21 ms 1296 KB Output is correct
128 Correct 14 ms 992 KB Output is correct
129 Correct 112 ms 3468 KB Output is correct
130 Correct 111 ms 3188 KB Output is correct
131 Correct 166 ms 5924 KB Output is correct
132 Correct 135 ms 4180 KB Output is correct
133 Correct 176 ms 6116 KB Output is correct
134 Correct 180 ms 6088 KB Output is correct
135 Correct 160 ms 4504 KB Output is correct
136 Correct 107 ms 3296 KB Output is correct
137 Correct 0 ms 348 KB Output is correct
138 Correct 0 ms 348 KB Output is correct
139 Correct 0 ms 348 KB Output is correct
140 Correct 1 ms 348 KB Output is correct
141 Correct 3 ms 348 KB Output is correct
142 Correct 24 ms 1828 KB Output is correct
143 Correct 13 ms 840 KB Output is correct
144 Correct 24 ms 1820 KB Output is correct
145 Correct 28 ms 1944 KB Output is correct
146 Correct 15 ms 1244 KB Output is correct
147 Correct 15 ms 996 KB Output is correct
148 Correct 23 ms 856 KB Output is correct
149 Correct 241 ms 7796 KB Output is correct
150 Correct 209 ms 6720 KB Output is correct
151 Correct 270 ms 8460 KB Output is correct
152 Correct 271 ms 8456 KB Output is correct
153 Correct 113 ms 3504 KB Output is correct
154 Correct 108 ms 3272 KB Output is correct
155 Correct 5 ms 836 KB Output is correct
156 Correct 4 ms 600 KB Output is correct
157 Correct 5 ms 792 KB Output is correct
158 Correct 5 ms 784 KB Output is correct
159 Correct 4 ms 624 KB Output is correct
160 Correct 4 ms 600 KB Output is correct
161 Correct 4 ms 848 KB Output is correct
162 Correct 3 ms 600 KB Output is correct
163 Correct 3 ms 600 KB Output is correct
164 Correct 25 ms 1792 KB Output is correct
165 Correct 23 ms 1828 KB Output is correct
166 Correct 18 ms 1372 KB Output is correct
167 Correct 22 ms 1784 KB Output is correct
168 Correct 20 ms 1296 KB Output is correct
169 Correct 14 ms 992 KB Output is correct
170 Correct 6 ms 860 KB Output is correct
171 Correct 5 ms 788 KB Output is correct
172 Correct 7 ms 840 KB Output is correct
173 Correct 6 ms 880 KB Output is correct
174 Correct 7 ms 876 KB Output is correct
175 Correct 29 ms 1980 KB Output is correct
176 Correct 31 ms 2196 KB Output is correct
177 Correct 26 ms 1968 KB Output is correct
178 Correct 27 ms 2012 KB Output is correct
179 Correct 170 ms 6000 KB Output is correct
180 Correct 135 ms 4176 KB Output is correct
181 Correct 176 ms 6108 KB Output is correct
182 Correct 177 ms 6096 KB Output is correct
183 Correct 156 ms 4512 KB Output is correct
184 Correct 108 ms 3488 KB Output is correct
185 Correct 217 ms 7284 KB Output is correct
186 Correct 269 ms 8536 KB Output is correct
187 Correct 243 ms 7860 KB Output is correct
188 Correct 239 ms 7764 KB Output is correct
189 Correct 1 ms 348 KB Output is correct
190 Correct 5 ms 836 KB Output is correct
191 Correct 5 ms 596 KB Output is correct
192 Correct 5 ms 788 KB Output is correct
193 Correct 5 ms 784 KB Output is correct
194 Correct 4 ms 832 KB Output is correct
195 Correct 4 ms 600 KB Output is correct
196 Correct 3 ms 600 KB Output is correct
197 Correct 4 ms 600 KB Output is correct
198 Correct 4 ms 600 KB Output is correct
199 Correct 15 ms 1228 KB Output is correct
200 Correct 15 ms 996 KB Output is correct
201 Correct 25 ms 1664 KB Output is correct
202 Correct 26 ms 1824 KB Output is correct
203 Correct 18 ms 1368 KB Output is correct
204 Correct 22 ms 1784 KB Output is correct
205 Correct 19 ms 1300 KB Output is correct
206 Correct 14 ms 992 KB Output is correct
207 Correct 111 ms 3260 KB Output is correct
208 Correct 107 ms 3192 KB Output is correct
209 Correct 168 ms 5892 KB Output is correct
210 Correct 135 ms 4172 KB Output is correct
211 Correct 179 ms 6112 KB Output is correct
212 Correct 178 ms 6100 KB Output is correct
213 Correct 159 ms 4532 KB Output is correct
214 Correct 107 ms 3464 KB Output is correct
215 Execution timed out 5074 ms 60560 KB Time limit exceeded
216 Halted 0 ms 0 KB -