Submission #421086

# Submission time Handle Problem Language Result Execution time Memory
421086 2021-06-08T17:35:09 Z wiwiho Road Closures (APIO21_roads) C++14
100 / 100
653 ms 52788 KB
#include "roads.h"

#include <bits/stdc++.h>
#include <bits/extc++.h>

#define StarBurstStream ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define iter(a) a.begin(), a.end()
#define riter(a) a.rbegin(), a.rend()
#define lsort(a) sort(iter(a))
#define gsort(a) sort(riter(a))
#define pb(a) push_back(a)
#define eb(a) emplace_back(a)
#define pf(a) push_front(a)
#define ef(a) emplace_front(a)
#define pob pop_back()
#define pof pop_front()
#define mp(a, b) make_pair(a, b)
#define F first
#define S second
#define mt make_tuple
#define gt(t, i) get<i>(t)
#define tomax(a, b) ((a) = max((a), (b)))
#define tomin(a, b) ((a) = min((a), (b)))
#define topos(a) ((a) = (((a) % MOD + MOD) % MOD))
#define uni(a) a.resize(unique(iter(a)) - a.begin())
#define printv(a, b) {bool pvaspace=false; \
for(auto pva : a){ \
    if(pvaspace) b << " "; pvaspace=true;\
    b << pva;\
}\
b << "\n";}

using namespace std;
using namespace __gnu_pbds;

typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;

using pii = pair<int, int>;
using pll = pair<ll, ll>;
using pdd = pair<ld, ld>;
using tiii = tuple<int, int, int>;

const ll MOD = 1000000007;
const ll MAX = 1LL << 60;

template<typename A, typename B>
ostream& operator<<(ostream& o, pair<A, B> p){
    return o << '(' << p.F << ',' << p.S << ')';
}

ll ifloor(ll a, ll b){
    if(b < 0) a *= -1, b *= -1;
    if(a < 0) return (a - b + 1) / b;
    else return a / b;
}

ll iceil(ll a, ll b){
    if(b < 0) a *= -1, b *= -1;
    if(a > 0) return (a + b - 1) / b;
    else return a / b;
}

struct OwO;
ostream& operator<<(ostream& o, OwO& owo);

struct OwO{
    multiset<ll> large, small;
    ll sum = 0;
    void insert(ll v){
        if(!small.empty() && v < *small.rbegin()) small.insert(v), sum += v;
        else large.insert(v);
    }
    void erase(ll v){
        if(large.find(v) != large.end()){
            large.erase(large.find(v));
            return;
        }
        small.erase(small.find(v));
        sum -= v;
    }
    ll query(int k){
        while(small.size() < k && !large.empty()){
            small.insert(*large.begin());
            sum += *large.begin();
            large.erase(large.begin());
        }
        while(small.size() > k){
            large.insert(*small.rbegin());
            sum -= *small.rbegin();
            small.erase(prev(small.end()));
        }
        return sum;
    }
};

ostream& operator<<(ostream& o, OwO& owo){
    o << "s: ";
    for(int i : owo.small) o << i << " ";
    o << "l: ";
    for(int i : owo.large) o << i << " ";
    o << "sum: " << owo.sum;
    return o;
}

int n;
vector<vector<pii>> g;
vector<vector<pii>> tg;
vector<ll> sum;
vector<OwO> owo;
vector<bool> ok;
vector<int> okv;
vector<bool> vst;

int k;

pll dfs(int now, int p, int w){
    ll ts = sum[now];
    vst[now] = true;
    vector<ll> tmp;
    for(pii i : g[now]){
        if(i.F == p) continue;
        pll t = dfs(i.F, now, i.S);
        ts += t.S;
//        cerr << "r " << now << ' ' << i.F << " " << t << " " << ts << "\n";
        tmp.eb(min(0LL, t.F - t.S));
    }
    for(ll i : tmp) owo[now].insert(i);
    ll ans1 = MAX, ans2 = MAX;
    if(k != 0) ans1 = ts + owo[now].query(k - 1);
    ans2 = ts + owo[now].query(k) + w;
//    cerr << "dp " << now << " " << mp(ans1, ans2) << " " << sum[now] << " " << ts << " " << owo[now] << "\n";
    for(ll i : tmp) owo[now].erase(i);
    return mp(ans1, ans2);
}

ll solve(int K){
    k = K;
    ll ans = 0;
    for(int i : okv){
        if(vst[i]) continue;
        ans += dfs(i, i, 0).S;
    }
    for(int i : okv) vst[i] = false;
    return ans;
}

vector<ll> minimum_closure_costs(int N, vector<int> U, vector<int> V, vector<int> W){
    n = N;
    g.resize(n);
    tg.resize(n);
    sum.resize(n);
    owo.resize(n);
    ok.resize(n);
    vst.resize(n);

    for(int i = 0; i < n - 1; i++){
        int u = U[i], v = V[i], w = W[i];
        tg[u].eb(mp(v, w));
        tg[v].eb(mp(u, w));
        sum[u] += w;
        sum[v] += w;
        owo[u].insert(-w);
        owo[v].insert(-w);
    }

    vector<vector<int>> deg(n + 1);
    for(int i = 0; i < n; i++) deg[tg[i].size()].eb(i);

    vector<ll> ans(n);
    for(int i = n - 1; i >= 0; i--){
        for(int j : deg[i + 1]){
            ok[j] = true;
            okv.eb(j);
            for(pii v : tg[j]){
                sum[v.F] -= v.S;
                owo[v.F].erase(-v.S);
                g[v.F].eb(mp(j, v.S));
            }
        }

//        cerr << "test " << i << "\n";
//        printv(okv, cerr);
//        for(int j : okv){
//            cerr << j << " " << sum[j] << "  ";
//            printv(g[j], cerr);
//        }

        ans[i] = solve(i);
    }

    return ans;
}

Compilation message

roads.cpp: In member function 'll OwO::query(int)':
roads.cpp:84:28: warning: comparison of integer expressions of different signedness: 'std::multiset<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   84 |         while(small.size() < k && !large.empty()){
      |               ~~~~~~~~~~~~~^~~
roads.cpp:89:28: warning: comparison of integer expressions of different signedness: 'std::multiset<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   89 |         while(small.size() > k){
      |               ~~~~~~~~~~~~~^~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 4 ms 972 KB Output is correct
3 Correct 5 ms 1068 KB Output is correct
4 Correct 5 ms 1100 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 4 ms 1000 KB Output is correct
9 Correct 4 ms 1100 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Correct 1 ms 332 KB Output is correct
12 Correct 191 ms 23748 KB Output is correct
13 Correct 356 ms 39712 KB Output is correct
14 Correct 366 ms 36124 KB Output is correct
15 Correct 450 ms 39936 KB Output is correct
16 Correct 535 ms 40460 KB Output is correct
17 Correct 340 ms 40444 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 302 ms 36040 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 128 ms 41956 KB Output is correct
3 Correct 144 ms 49364 KB Output is correct
4 Correct 145 ms 52684 KB Output is correct
5 Correct 143 ms 52752 KB Output is correct
6 Correct 3 ms 1100 KB Output is correct
7 Correct 4 ms 1356 KB Output is correct
8 Correct 3 ms 1200 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 2 ms 332 KB Output is correct
11 Correct 1 ms 292 KB Output is correct
12 Correct 92 ms 31320 KB Output is correct
13 Correct 146 ms 51892 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 124 ms 46768 KB Output is correct
16 Correct 144 ms 51888 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Correct 1 ms 332 KB Output is correct
12 Correct 1 ms 332 KB Output is correct
13 Correct 1 ms 332 KB Output is correct
14 Correct 1 ms 332 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 1 ms 332 KB Output is correct
17 Correct 1 ms 332 KB Output is correct
18 Correct 1 ms 332 KB Output is correct
19 Correct 1 ms 332 KB Output is correct
20 Correct 1 ms 332 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Correct 1 ms 332 KB Output is correct
12 Correct 1 ms 332 KB Output is correct
13 Correct 1 ms 332 KB Output is correct
14 Correct 1 ms 332 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 1 ms 332 KB Output is correct
17 Correct 1 ms 332 KB Output is correct
18 Correct 1 ms 332 KB Output is correct
19 Correct 1 ms 332 KB Output is correct
20 Correct 1 ms 332 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
22 Correct 1 ms 204 KB Output is correct
23 Correct 3 ms 716 KB Output is correct
24 Correct 4 ms 972 KB Output is correct
25 Correct 3 ms 844 KB Output is correct
26 Correct 4 ms 972 KB Output is correct
27 Correct 5 ms 1100 KB Output is correct
28 Correct 4 ms 1100 KB Output is correct
29 Correct 4 ms 972 KB Output is correct
30 Correct 6 ms 1100 KB Output is correct
31 Correct 6 ms 1100 KB Output is correct
32 Correct 5 ms 1100 KB Output is correct
33 Correct 3 ms 1100 KB Output is correct
34 Correct 4 ms 1228 KB Output is correct
35 Correct 3 ms 1100 KB Output is correct
36 Correct 4 ms 972 KB Output is correct
37 Correct 5 ms 1100 KB Output is correct
38 Correct 4 ms 1100 KB Output is correct
39 Correct 1 ms 204 KB Output is correct
40 Correct 1 ms 204 KB Output is correct
41 Correct 1 ms 332 KB Output is correct
42 Correct 1 ms 332 KB Output is correct
43 Correct 1 ms 332 KB Output is correct
44 Correct 1 ms 332 KB Output is correct
45 Correct 1 ms 332 KB Output is correct
46 Correct 1 ms 332 KB Output is correct
47 Correct 1 ms 332 KB Output is correct
48 Correct 1 ms 332 KB Output is correct
49 Correct 1 ms 332 KB Output is correct
50 Correct 1 ms 332 KB Output is correct
51 Correct 1 ms 332 KB Output is correct
52 Correct 1 ms 332 KB Output is correct
53 Correct 4 ms 844 KB Output is correct
54 Correct 4 ms 972 KB Output is correct
55 Correct 5 ms 1100 KB Output is correct
56 Correct 4 ms 972 KB Output is correct
57 Correct 4 ms 1100 KB Output is correct
58 Correct 1 ms 332 KB Output is correct
59 Correct 1 ms 332 KB Output is correct
60 Correct 1 ms 332 KB Output is correct
61 Correct 1 ms 332 KB Output is correct
62 Correct 1 ms 332 KB Output is correct
63 Correct 0 ms 204 KB Output is correct
64 Correct 4 ms 972 KB Output is correct
65 Correct 4 ms 972 KB Output is correct
66 Correct 4 ms 1100 KB Output is correct
67 Correct 4 ms 1100 KB Output is correct
68 Correct 4 ms 1100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 436 ms 35096 KB Output is correct
2 Correct 437 ms 35776 KB Output is correct
3 Correct 474 ms 39100 KB Output is correct
4 Correct 425 ms 37620 KB Output is correct
5 Correct 482 ms 39156 KB Output is correct
6 Correct 419 ms 38224 KB Output is correct
7 Correct 484 ms 37936 KB Output is correct
8 Correct 298 ms 37088 KB Output is correct
9 Correct 403 ms 41188 KB Output is correct
10 Correct 445 ms 36644 KB Output is correct
11 Correct 567 ms 38972 KB Output is correct
12 Correct 389 ms 39084 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 126 ms 46772 KB Output is correct
15 Correct 142 ms 51884 KB Output is correct
16 Correct 4 ms 972 KB Output is correct
17 Correct 4 ms 972 KB Output is correct
18 Correct 4 ms 1100 KB Output is correct
19 Correct 5 ms 1100 KB Output is correct
20 Correct 4 ms 1100 KB Output is correct
21 Correct 295 ms 36016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 436 ms 35096 KB Output is correct
2 Correct 437 ms 35776 KB Output is correct
3 Correct 474 ms 39100 KB Output is correct
4 Correct 425 ms 37620 KB Output is correct
5 Correct 482 ms 39156 KB Output is correct
6 Correct 419 ms 38224 KB Output is correct
7 Correct 484 ms 37936 KB Output is correct
8 Correct 298 ms 37088 KB Output is correct
9 Correct 403 ms 41188 KB Output is correct
10 Correct 445 ms 36644 KB Output is correct
11 Correct 567 ms 38972 KB Output is correct
12 Correct 389 ms 39084 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 126 ms 46772 KB Output is correct
15 Correct 142 ms 51884 KB Output is correct
16 Correct 4 ms 972 KB Output is correct
17 Correct 4 ms 972 KB Output is correct
18 Correct 4 ms 1100 KB Output is correct
19 Correct 5 ms 1100 KB Output is correct
20 Correct 4 ms 1100 KB Output is correct
21 Correct 295 ms 36016 KB Output is correct
22 Correct 1 ms 292 KB Output is correct
23 Correct 0 ms 292 KB Output is correct
24 Correct 1 ms 204 KB Output is correct
25 Correct 397 ms 32228 KB Output is correct
26 Correct 314 ms 29248 KB Output is correct
27 Correct 452 ms 37676 KB Output is correct
28 Correct 653 ms 39288 KB Output is correct
29 Correct 562 ms 36180 KB Output is correct
30 Correct 534 ms 36720 KB Output is correct
31 Correct 464 ms 37952 KB Output is correct
32 Correct 454 ms 34752 KB Output is correct
33 Correct 319 ms 37856 KB Output is correct
34 Correct 600 ms 37980 KB Output is correct
35 Correct 453 ms 43180 KB Output is correct
36 Correct 565 ms 38844 KB Output is correct
37 Correct 461 ms 39228 KB Output is correct
38 Correct 83 ms 31180 KB Output is correct
39 Correct 172 ms 51892 KB Output is correct
40 Correct 3 ms 844 KB Output is correct
41 Correct 4 ms 972 KB Output is correct
42 Correct 5 ms 1100 KB Output is correct
43 Correct 4 ms 972 KB Output is correct
44 Correct 4 ms 1096 KB Output is correct
45 Correct 1 ms 332 KB Output is correct
46 Correct 1 ms 332 KB Output is correct
47 Correct 1 ms 332 KB Output is correct
48 Correct 1 ms 332 KB Output is correct
49 Correct 1 ms 332 KB Output is correct
50 Correct 204 ms 23996 KB Output is correct
51 Correct 349 ms 39612 KB Output is correct
52 Correct 419 ms 36400 KB Output is correct
53 Correct 413 ms 35764 KB Output is correct
54 Correct 523 ms 39120 KB Output is correct
55 Correct 491 ms 37624 KB Output is correct
56 Correct 509 ms 39244 KB Output is correct
57 Correct 417 ms 38232 KB Output is correct
58 Correct 552 ms 38180 KB Output is correct
59 Correct 321 ms 37156 KB Output is correct
60 Correct 430 ms 41220 KB Output is correct
61 Correct 490 ms 36576 KB Output is correct
62 Correct 518 ms 38804 KB Output is correct
63 Correct 409 ms 39096 KB Output is correct
64 Correct 1 ms 204 KB Output is correct
65 Correct 128 ms 46776 KB Output is correct
66 Correct 171 ms 51884 KB Output is correct
67 Correct 4 ms 972 KB Output is correct
68 Correct 4 ms 972 KB Output is correct
69 Correct 4 ms 1100 KB Output is correct
70 Correct 4 ms 1100 KB Output is correct
71 Correct 4 ms 1100 KB Output is correct
72 Correct 295 ms 36048 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 4 ms 972 KB Output is correct
3 Correct 5 ms 1068 KB Output is correct
4 Correct 5 ms 1100 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 4 ms 1000 KB Output is correct
9 Correct 4 ms 1100 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Correct 1 ms 332 KB Output is correct
12 Correct 191 ms 23748 KB Output is correct
13 Correct 356 ms 39712 KB Output is correct
14 Correct 366 ms 36124 KB Output is correct
15 Correct 450 ms 39936 KB Output is correct
16 Correct 535 ms 40460 KB Output is correct
17 Correct 340 ms 40444 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 302 ms 36040 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 128 ms 41956 KB Output is correct
22 Correct 144 ms 49364 KB Output is correct
23 Correct 145 ms 52684 KB Output is correct
24 Correct 143 ms 52752 KB Output is correct
25 Correct 3 ms 1100 KB Output is correct
26 Correct 4 ms 1356 KB Output is correct
27 Correct 3 ms 1200 KB Output is correct
28 Correct 1 ms 332 KB Output is correct
29 Correct 2 ms 332 KB Output is correct
30 Correct 1 ms 292 KB Output is correct
31 Correct 92 ms 31320 KB Output is correct
32 Correct 146 ms 51892 KB Output is correct
33 Correct 1 ms 204 KB Output is correct
34 Correct 124 ms 46768 KB Output is correct
35 Correct 144 ms 51888 KB Output is correct
36 Correct 0 ms 204 KB Output is correct
37 Correct 0 ms 204 KB Output is correct
38 Correct 0 ms 204 KB Output is correct
39 Correct 1 ms 332 KB Output is correct
40 Correct 1 ms 332 KB Output is correct
41 Correct 1 ms 332 KB Output is correct
42 Correct 1 ms 332 KB Output is correct
43 Correct 1 ms 332 KB Output is correct
44 Correct 1 ms 332 KB Output is correct
45 Correct 1 ms 332 KB Output is correct
46 Correct 1 ms 332 KB Output is correct
47 Correct 1 ms 332 KB Output is correct
48 Correct 1 ms 332 KB Output is correct
49 Correct 1 ms 332 KB Output is correct
50 Correct 1 ms 332 KB Output is correct
51 Correct 1 ms 332 KB Output is correct
52 Correct 1 ms 332 KB Output is correct
53 Correct 1 ms 332 KB Output is correct
54 Correct 1 ms 332 KB Output is correct
55 Correct 1 ms 332 KB Output is correct
56 Correct 1 ms 204 KB Output is correct
57 Correct 1 ms 204 KB Output is correct
58 Correct 3 ms 716 KB Output is correct
59 Correct 4 ms 972 KB Output is correct
60 Correct 3 ms 844 KB Output is correct
61 Correct 4 ms 972 KB Output is correct
62 Correct 5 ms 1100 KB Output is correct
63 Correct 4 ms 1100 KB Output is correct
64 Correct 4 ms 972 KB Output is correct
65 Correct 6 ms 1100 KB Output is correct
66 Correct 6 ms 1100 KB Output is correct
67 Correct 5 ms 1100 KB Output is correct
68 Correct 3 ms 1100 KB Output is correct
69 Correct 4 ms 1228 KB Output is correct
70 Correct 3 ms 1100 KB Output is correct
71 Correct 4 ms 972 KB Output is correct
72 Correct 5 ms 1100 KB Output is correct
73 Correct 4 ms 1100 KB Output is correct
74 Correct 1 ms 204 KB Output is correct
75 Correct 1 ms 204 KB Output is correct
76 Correct 1 ms 332 KB Output is correct
77 Correct 1 ms 332 KB Output is correct
78 Correct 1 ms 332 KB Output is correct
79 Correct 1 ms 332 KB Output is correct
80 Correct 1 ms 332 KB Output is correct
81 Correct 1 ms 332 KB Output is correct
82 Correct 1 ms 332 KB Output is correct
83 Correct 1 ms 332 KB Output is correct
84 Correct 1 ms 332 KB Output is correct
85 Correct 1 ms 332 KB Output is correct
86 Correct 1 ms 332 KB Output is correct
87 Correct 1 ms 332 KB Output is correct
88 Correct 4 ms 844 KB Output is correct
89 Correct 4 ms 972 KB Output is correct
90 Correct 5 ms 1100 KB Output is correct
91 Correct 4 ms 972 KB Output is correct
92 Correct 4 ms 1100 KB Output is correct
93 Correct 1 ms 332 KB Output is correct
94 Correct 1 ms 332 KB Output is correct
95 Correct 1 ms 332 KB Output is correct
96 Correct 1 ms 332 KB Output is correct
97 Correct 1 ms 332 KB Output is correct
98 Correct 0 ms 204 KB Output is correct
99 Correct 4 ms 972 KB Output is correct
100 Correct 4 ms 972 KB Output is correct
101 Correct 4 ms 1100 KB Output is correct
102 Correct 4 ms 1100 KB Output is correct
103 Correct 4 ms 1100 KB Output is correct
104 Correct 436 ms 35096 KB Output is correct
105 Correct 437 ms 35776 KB Output is correct
106 Correct 474 ms 39100 KB Output is correct
107 Correct 425 ms 37620 KB Output is correct
108 Correct 482 ms 39156 KB Output is correct
109 Correct 419 ms 38224 KB Output is correct
110 Correct 484 ms 37936 KB Output is correct
111 Correct 298 ms 37088 KB Output is correct
112 Correct 403 ms 41188 KB Output is correct
113 Correct 445 ms 36644 KB Output is correct
114 Correct 567 ms 38972 KB Output is correct
115 Correct 389 ms 39084 KB Output is correct
116 Correct 1 ms 204 KB Output is correct
117 Correct 126 ms 46772 KB Output is correct
118 Correct 142 ms 51884 KB Output is correct
119 Correct 4 ms 972 KB Output is correct
120 Correct 4 ms 972 KB Output is correct
121 Correct 4 ms 1100 KB Output is correct
122 Correct 5 ms 1100 KB Output is correct
123 Correct 4 ms 1100 KB Output is correct
124 Correct 295 ms 36016 KB Output is correct
125 Correct 1 ms 292 KB Output is correct
126 Correct 0 ms 292 KB Output is correct
127 Correct 1 ms 204 KB Output is correct
128 Correct 397 ms 32228 KB Output is correct
129 Correct 314 ms 29248 KB Output is correct
130 Correct 452 ms 37676 KB Output is correct
131 Correct 653 ms 39288 KB Output is correct
132 Correct 562 ms 36180 KB Output is correct
133 Correct 534 ms 36720 KB Output is correct
134 Correct 464 ms 37952 KB Output is correct
135 Correct 454 ms 34752 KB Output is correct
136 Correct 319 ms 37856 KB Output is correct
137 Correct 600 ms 37980 KB Output is correct
138 Correct 453 ms 43180 KB Output is correct
139 Correct 565 ms 38844 KB Output is correct
140 Correct 461 ms 39228 KB Output is correct
141 Correct 83 ms 31180 KB Output is correct
142 Correct 172 ms 51892 KB Output is correct
143 Correct 3 ms 844 KB Output is correct
144 Correct 4 ms 972 KB Output is correct
145 Correct 5 ms 1100 KB Output is correct
146 Correct 4 ms 972 KB Output is correct
147 Correct 4 ms 1096 KB Output is correct
148 Correct 1 ms 332 KB Output is correct
149 Correct 1 ms 332 KB Output is correct
150 Correct 1 ms 332 KB Output is correct
151 Correct 1 ms 332 KB Output is correct
152 Correct 1 ms 332 KB Output is correct
153 Correct 204 ms 23996 KB Output is correct
154 Correct 349 ms 39612 KB Output is correct
155 Correct 419 ms 36400 KB Output is correct
156 Correct 413 ms 35764 KB Output is correct
157 Correct 523 ms 39120 KB Output is correct
158 Correct 491 ms 37624 KB Output is correct
159 Correct 509 ms 39244 KB Output is correct
160 Correct 417 ms 38232 KB Output is correct
161 Correct 552 ms 38180 KB Output is correct
162 Correct 321 ms 37156 KB Output is correct
163 Correct 430 ms 41220 KB Output is correct
164 Correct 490 ms 36576 KB Output is correct
165 Correct 518 ms 38804 KB Output is correct
166 Correct 409 ms 39096 KB Output is correct
167 Correct 1 ms 204 KB Output is correct
168 Correct 128 ms 46776 KB Output is correct
169 Correct 171 ms 51884 KB Output is correct
170 Correct 4 ms 972 KB Output is correct
171 Correct 4 ms 972 KB Output is correct
172 Correct 4 ms 1100 KB Output is correct
173 Correct 4 ms 1100 KB Output is correct
174 Correct 4 ms 1100 KB Output is correct
175 Correct 295 ms 36048 KB Output is correct
176 Correct 1 ms 204 KB Output is correct
177 Correct 462 ms 37944 KB Output is correct
178 Correct 322 ms 29668 KB Output is correct
179 Correct 576 ms 38992 KB Output is correct
180 Correct 526 ms 37596 KB Output is correct
181 Correct 525 ms 40104 KB Output is correct
182 Correct 488 ms 40232 KB Output is correct
183 Correct 538 ms 38204 KB Output is correct
184 Correct 484 ms 37092 KB Output is correct
185 Correct 474 ms 37436 KB Output is correct
186 Correct 473 ms 36240 KB Output is correct
187 Correct 472 ms 40380 KB Output is correct
188 Correct 422 ms 36140 KB Output is correct
189 Correct 424 ms 35712 KB Output is correct
190 Correct 557 ms 39572 KB Output is correct
191 Correct 523 ms 38780 KB Output is correct
192 Correct 517 ms 39688 KB Output is correct
193 Correct 562 ms 39712 KB Output is correct
194 Correct 519 ms 39756 KB Output is correct
195 Correct 150 ms 43720 KB Output is correct
196 Correct 135 ms 49232 KB Output is correct
197 Correct 179 ms 52656 KB Output is correct
198 Correct 146 ms 52788 KB Output is correct
199 Correct 3 ms 716 KB Output is correct
200 Correct 4 ms 972 KB Output is correct
201 Correct 3 ms 944 KB Output is correct
202 Correct 4 ms 972 KB Output is correct
203 Correct 5 ms 1100 KB Output is correct
204 Correct 4 ms 1072 KB Output is correct
205 Correct 4 ms 1020 KB Output is correct
206 Correct 5 ms 1100 KB Output is correct
207 Correct 5 ms 1100 KB Output is correct
208 Correct 5 ms 1100 KB Output is correct
209 Correct 3 ms 1100 KB Output is correct
210 Correct 5 ms 1228 KB Output is correct
211 Correct 3 ms 1204 KB Output is correct
212 Correct 4 ms 972 KB Output is correct
213 Correct 5 ms 1100 KB Output is correct
214 Correct 4 ms 1100 KB Output is correct
215 Correct 1 ms 204 KB Output is correct
216 Correct 1 ms 204 KB Output is correct
217 Correct 1 ms 332 KB Output is correct
218 Correct 1 ms 332 KB Output is correct
219 Correct 1 ms 332 KB Output is correct
220 Correct 1 ms 332 KB Output is correct
221 Correct 1 ms 332 KB Output is correct
222 Correct 1 ms 272 KB Output is correct
223 Correct 1 ms 296 KB Output is correct
224 Correct 1 ms 332 KB Output is correct
225 Correct 1 ms 332 KB Output is correct
226 Correct 1 ms 324 KB Output is correct
227 Correct 1 ms 288 KB Output is correct
228 Correct 1 ms 332 KB Output is correct
229 Correct 355 ms 32256 KB Output is correct
230 Correct 319 ms 29404 KB Output is correct
231 Correct 437 ms 37592 KB Output is correct
232 Correct 589 ms 39212 KB Output is correct
233 Correct 511 ms 36320 KB Output is correct
234 Correct 516 ms 36812 KB Output is correct
235 Correct 465 ms 37824 KB Output is correct
236 Correct 396 ms 34676 KB Output is correct
237 Correct 315 ms 37860 KB Output is correct
238 Correct 538 ms 37976 KB Output is correct
239 Correct 444 ms 43240 KB Output is correct
240 Correct 571 ms 38780 KB Output is correct
241 Correct 430 ms 39104 KB Output is correct
242 Correct 85 ms 31180 KB Output is correct
243 Correct 138 ms 51828 KB Output is correct
244 Correct 3 ms 844 KB Output is correct
245 Correct 4 ms 976 KB Output is correct
246 Correct 5 ms 1100 KB Output is correct
247 Correct 4 ms 972 KB Output is correct
248 Correct 4 ms 1100 KB Output is correct
249 Correct 1 ms 332 KB Output is correct
250 Correct 1 ms 332 KB Output is correct
251 Correct 1 ms 332 KB Output is correct
252 Correct 1 ms 332 KB Output is correct
253 Correct 1 ms 332 KB Output is correct
254 Correct 190 ms 24112 KB Output is correct
255 Correct 335 ms 39584 KB Output is correct
256 Correct 381 ms 36264 KB Output is correct
257 Correct 430 ms 39860 KB Output is correct
258 Correct 434 ms 40376 KB Output is correct
259 Correct 325 ms 40476 KB Output is correct
260 Correct 407 ms 36408 KB Output is correct
261 Correct 410 ms 35748 KB Output is correct
262 Correct 476 ms 39104 KB Output is correct
263 Correct 431 ms 37632 KB Output is correct
264 Correct 459 ms 39276 KB Output is correct
265 Correct 406 ms 38212 KB Output is correct
266 Correct 479 ms 37888 KB Output is correct
267 Correct 298 ms 37176 KB Output is correct
268 Correct 382 ms 41280 KB Output is correct
269 Correct 427 ms 36560 KB Output is correct
270 Correct 517 ms 38844 KB Output is correct
271 Correct 369 ms 39196 KB Output is correct
272 Correct 1 ms 204 KB Output is correct
273 Correct 122 ms 46780 KB Output is correct
274 Correct 134 ms 51908 KB Output is correct
275 Correct 4 ms 972 KB Output is correct
276 Correct 4 ms 972 KB Output is correct
277 Correct 4 ms 1100 KB Output is correct
278 Correct 4 ms 1100 KB Output is correct
279 Correct 4 ms 1100 KB Output is correct
280 Correct 290 ms 36036 KB Output is correct