Submission #1031773

# Submission time Handle Problem Language Result Execution time Memory
1031773 2024-07-23T07:00:23 Z GrindMachine Segments (IZhO18_segments) C++17
100 / 100
1156 ms 40060 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;

template<typename T> using Tree = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
typedef long long int ll;
typedef long double ld;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;

#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL)
#define pb push_back
#define endl '\n'
#define sz(a) (int)a.size()
#define setbits(x) __builtin_popcountll(x)
#define ff first
#define ss second
#define conts continue
#define ceil2(x,y) ((x+y-1)/(y))
#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define yes cout << "Yes" << endl
#define no cout << "No" << endl

#define rep(i,n) for(int i = 0; i < n; ++i)
#define rep1(i,n) for(int i = 1; i <= n; ++i)
#define rev(i,s,e) for(int i = s; i >= e; --i)
#define trav(i,a) for(auto &i : a)

template<typename T>
void amin(T &a, T b) {
    a = min(a,b);
}

template<typename T>
void amax(T &a, T b) {
    a = max(a,b);
}

#ifdef LOCAL
#include "debug.h"
#else
#define debug(...) 42
#endif

/*

refs:
other solutions
https://codeforces.com/blog/entry/124766 (log decomposition technique)

*/

const int MOD = 1e9 + 7;
const int N = 1e5 + 5;
const int inf1 = int(1e9) + 5;
const ll inf2 = ll(1e18) + 5;

template<typename T>
struct fenwick {
    int n;
    vector<vector<int>> tr;
    int LOG = 0;

    fenwick() {

    }

    fenwick(int n_) {
        n = n_;
        tr = vector<vector<int>>(n + 1);
        while((1<<LOG) <= n) LOG++;
    }

    int lsb(int x) {
        return x & -x;
    }

    void pupd(int i, int v) {
        i++;
        for(; i <= n; i += lsb(i)){
            tr[i].pb(v);
        }
    }

    void build(){
        rep1(i,n){
            sort(all(tr[i]));
        }
    }

    void clear(){
        tr.clear();
        tr.shrink_to_fit();
    }

    int get(int i, int x, int y) {
        i++;
        int res = 0;
        for(; i; i ^= lsb(i)){
            auto &a = tr[i];
            res += upper_bound(all(a),y)-lower_bound(all(a),x);
        }
        return res;
    }

    int query(int l, int r, int x, int y) {
        if (l > r) return 0;
        int res = get(r,x,y) - get(l-1,x,y);
        return res;
    }
};

struct S{
    vector<pii> a;
    fenwick<int> fenw1,fenw2;
    bool empty(){
        return a.empty();
    }
    void clear(){
        a.clear();
        a.shrink_to_fit();
        fenw1.clear(), fenw2.clear();
    }
    void build(){        
        fenw1 = fenwick<int>(sz(a));
        fenw2 = fenwick<int>(sz(a));
        rep(i,sz(a)){
            fenw1.pupd(i,a[i].ff);
            fenw2.pupd(i,a[i].ss);
        }
        fenw1.build();
        fenw2.build();
    }
    int query(int i, int l1, int r1, int k){
        int n = sz(a);
        return fenw1.query(i,n-1,r1-k+1,2*inf1)+fenw2.query(i,n-1,0,l1+k-1);
    }
};

struct DS{
    S a[20];
    void insert(int l, int r){
        S curr;
        curr.a.pb({l,r});

        rep(i,20){
            if(!a[i].empty()){
                S nxt;
                int ptr1 = 0, ptr2 = 0;
                while(ptr1 < sz(curr.a) and ptr2 < sz(a[i].a)){
                    int len1 = curr.a[ptr1].ss-curr.a[ptr1].ff;
                    int len2 = a[i].a[ptr2].ss-a[i].a[ptr2].ff;
                    if(len1 < len2){
                        nxt.a.pb(curr.a[ptr1++]);
                    }
                    else{
                        nxt.a.pb(a[i].a[ptr2++]);
                    }
                }                
                while(ptr1 < sz(curr.a)) nxt.a.pb(curr.a[ptr1++]);
                while(ptr2 < sz(a[i].a)) nxt.a.pb(a[i].a[ptr2++]);

                curr = nxt;
                nxt.clear();
                a[i].clear();                
            }
            else{
                a[i] = curr;
                a[i].build();
                break;
            }
        }
    }

    int query(int l1, int r1, int k){
        if(r1-l1 < k) return 0;
        int ans = 0;
        rep(i,20){
            if(a[i].empty()) conts;
            auto &b = a[i].a;
            int lo = 0, hi = sz(b)-1;
            int pos = -1;

            while(lo <= hi){
                int mid = (lo+hi) >> 1;
                if(b[mid].ss-b[mid].ff >= k){
                    pos = mid;
                    hi = mid-1;
                }
                else{
                    lo = mid+1;
                }
            }

            if(pos == -1) conts;

            int bad = a[i].query(pos,l1,r1,k);
            int add = sz(b)-pos-bad;
            ans += add;
        }

        return ans;
    }
};

void solve(int test_case)
{
    int q,c; cin >> q >> c;
    
    DS ds1,ds2;
    vector<pii> a;
    a.pb({0,0});

    int last_ans = 0;

    while(q--){
        int t; cin >> t;
        if(t == 1){
            int l,r; cin >> l >> r;
            l ^= c*last_ans, r ^= c*last_ans;
            if(l > r) swap(l,r);
            ds1.insert(l,r);
            a.pb({l,r});
        }
        else if(t == 2){
            int id; cin >> id;
            auto [l,r] = a[id];
            ds2.insert(l,r);
        }
        else{
            int l,r,k; cin >> l >> r >> k;
            l ^= c*last_ans, r ^= c*last_ans;
            if(l > r) swap(l,r);
            k--;
            int ans = ds1.query(l,r,k)-ds2.query(l,r,k);
            cout << ans << endl;
            last_ans = ans;
        }
    }
}

int main()
{
    fastio;

    int t = 1;
    // cin >> t;

    rep1(i, t) {
        solve(i);
    }

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 11 ms 908 KB Output is correct
4 Correct 11 ms 856 KB Output is correct
5 Correct 12 ms 1372 KB Output is correct
6 Correct 11 ms 1176 KB Output is correct
7 Correct 12 ms 1116 KB Output is correct
8 Correct 11 ms 1108 KB Output is correct
9 Correct 10 ms 1112 KB Output is correct
10 Correct 12 ms 1372 KB Output is correct
11 Correct 10 ms 860 KB Output is correct
12 Correct 11 ms 860 KB Output is correct
13 Correct 12 ms 1376 KB Output is correct
14 Correct 11 ms 1116 KB Output is correct
15 Correct 11 ms 860 KB Output is correct
16 Correct 11 ms 1112 KB Output is correct
17 Correct 12 ms 1116 KB Output is correct
18 Correct 15 ms 1236 KB Output is correct
19 Correct 11 ms 1124 KB Output is correct
20 Correct 11 ms 1120 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 377 ms 11676 KB Output is correct
2 Correct 400 ms 12032 KB Output is correct
3 Correct 382 ms 11956 KB Output is correct
4 Correct 448 ms 12796 KB Output is correct
5 Correct 352 ms 19436 KB Output is correct
6 Correct 362 ms 19696 KB Output is correct
7 Correct 376 ms 12084 KB Output is correct
8 Correct 385 ms 11988 KB Output is correct
9 Correct 392 ms 12092 KB Output is correct
10 Correct 358 ms 7176 KB Output is correct
11 Correct 427 ms 8200 KB Output is correct
12 Correct 413 ms 15592 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 294 ms 15584 KB Output is correct
2 Correct 323 ms 15000 KB Output is correct
3 Correct 319 ms 15020 KB Output is correct
4 Correct 314 ms 14808 KB Output is correct
5 Correct 297 ms 15332 KB Output is correct
6 Correct 259 ms 13472 KB Output is correct
7 Correct 264 ms 14792 KB Output is correct
8 Correct 329 ms 19224 KB Output is correct
9 Correct 326 ms 19336 KB Output is correct
10 Correct 333 ms 17852 KB Output is correct
11 Correct 278 ms 13924 KB Output is correct
12 Correct 327 ms 18028 KB Output is correct
13 Correct 332 ms 17384 KB Output is correct
14 Correct 276 ms 15352 KB Output is correct
15 Correct 306 ms 16116 KB Output is correct
16 Correct 279 ms 14664 KB Output is correct
17 Correct 231 ms 11764 KB Output is correct
18 Correct 226 ms 11764 KB Output is correct
19 Correct 220 ms 11760 KB Output is correct
20 Correct 218 ms 11592 KB Output is correct
21 Correct 287 ms 14100 KB Output is correct
22 Correct 294 ms 15860 KB Output is correct
23 Correct 347 ms 17908 KB Output is correct
24 Correct 296 ms 15804 KB Output is correct
25 Correct 294 ms 14940 KB Output is correct
26 Correct 286 ms 14908 KB Output is correct
27 Correct 282 ms 15280 KB Output is correct
28 Correct 309 ms 15092 KB Output is correct
29 Correct 328 ms 17216 KB Output is correct
30 Correct 392 ms 17384 KB Output is correct
31 Correct 350 ms 19440 KB Output is correct
32 Correct 326 ms 18172 KB Output is correct
33 Correct 320 ms 17648 KB Output is correct
34 Correct 283 ms 15116 KB Output is correct
35 Correct 327 ms 16904 KB Output is correct
36 Correct 329 ms 18264 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 437 ms 15080 KB Output is correct
2 Correct 469 ms 15292 KB Output is correct
3 Correct 469 ms 15368 KB Output is correct
4 Correct 503 ms 15352 KB Output is correct
5 Correct 404 ms 16884 KB Output is correct
6 Correct 393 ms 5972 KB Output is correct
7 Correct 372 ms 17696 KB Output is correct
8 Correct 285 ms 7684 KB Output is correct
9 Correct 423 ms 15856 KB Output is correct
10 Correct 385 ms 18308 KB Output is correct
11 Correct 459 ms 15028 KB Output is correct
12 Correct 353 ms 19940 KB Output is correct
13 Correct 409 ms 17712 KB Output is correct
14 Correct 393 ms 15732 KB Output is correct
15 Correct 362 ms 19436 KB Output is correct
16 Correct 406 ms 18104 KB Output is correct
17 Correct 388 ms 12024 KB Output is correct
18 Correct 385 ms 11916 KB Output is correct
19 Correct 411 ms 12152 KB Output is correct
20 Correct 377 ms 12036 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 11 ms 908 KB Output is correct
4 Correct 11 ms 856 KB Output is correct
5 Correct 12 ms 1372 KB Output is correct
6 Correct 11 ms 1176 KB Output is correct
7 Correct 12 ms 1116 KB Output is correct
8 Correct 11 ms 1108 KB Output is correct
9 Correct 10 ms 1112 KB Output is correct
10 Correct 12 ms 1372 KB Output is correct
11 Correct 10 ms 860 KB Output is correct
12 Correct 11 ms 860 KB Output is correct
13 Correct 12 ms 1376 KB Output is correct
14 Correct 11 ms 1116 KB Output is correct
15 Correct 11 ms 860 KB Output is correct
16 Correct 11 ms 1112 KB Output is correct
17 Correct 12 ms 1116 KB Output is correct
18 Correct 15 ms 1236 KB Output is correct
19 Correct 11 ms 1124 KB Output is correct
20 Correct 11 ms 1120 KB Output is correct
21 Correct 377 ms 11676 KB Output is correct
22 Correct 400 ms 12032 KB Output is correct
23 Correct 382 ms 11956 KB Output is correct
24 Correct 448 ms 12796 KB Output is correct
25 Correct 352 ms 19436 KB Output is correct
26 Correct 362 ms 19696 KB Output is correct
27 Correct 376 ms 12084 KB Output is correct
28 Correct 385 ms 11988 KB Output is correct
29 Correct 392 ms 12092 KB Output is correct
30 Correct 358 ms 7176 KB Output is correct
31 Correct 427 ms 8200 KB Output is correct
32 Correct 413 ms 15592 KB Output is correct
33 Correct 437 ms 15080 KB Output is correct
34 Correct 469 ms 15292 KB Output is correct
35 Correct 469 ms 15368 KB Output is correct
36 Correct 503 ms 15352 KB Output is correct
37 Correct 404 ms 16884 KB Output is correct
38 Correct 393 ms 5972 KB Output is correct
39 Correct 372 ms 17696 KB Output is correct
40 Correct 285 ms 7684 KB Output is correct
41 Correct 423 ms 15856 KB Output is correct
42 Correct 385 ms 18308 KB Output is correct
43 Correct 459 ms 15028 KB Output is correct
44 Correct 353 ms 19940 KB Output is correct
45 Correct 409 ms 17712 KB Output is correct
46 Correct 393 ms 15732 KB Output is correct
47 Correct 362 ms 19436 KB Output is correct
48 Correct 406 ms 18104 KB Output is correct
49 Correct 388 ms 12024 KB Output is correct
50 Correct 385 ms 11916 KB Output is correct
51 Correct 411 ms 12152 KB Output is correct
52 Correct 377 ms 12036 KB Output is correct
53 Correct 464 ms 15164 KB Output is correct
54 Correct 501 ms 15440 KB Output is correct
55 Correct 457 ms 15516 KB Output is correct
56 Correct 464 ms 15456 KB Output is correct
57 Correct 448 ms 8968 KB Output is correct
58 Correct 243 ms 5456 KB Output is correct
59 Correct 468 ms 13620 KB Output is correct
60 Correct 286 ms 5200 KB Output is correct
61 Correct 418 ms 17648 KB Output is correct
62 Correct 368 ms 19580 KB Output is correct
63 Correct 353 ms 19692 KB Output is correct
64 Correct 368 ms 19492 KB Output is correct
65 Correct 392 ms 15064 KB Output is correct
66 Correct 390 ms 14824 KB Output is correct
67 Correct 376 ms 18100 KB Output is correct
68 Correct 361 ms 17028 KB Output is correct
69 Correct 378 ms 11916 KB Output is correct
70 Correct 383 ms 12000 KB Output is correct
71 Correct 372 ms 12032 KB Output is correct
72 Correct 379 ms 12024 KB Output is correct
73 Correct 420 ms 15356 KB Output is correct
74 Correct 423 ms 17000 KB Output is correct
75 Correct 367 ms 20460 KB Output is correct
76 Correct 359 ms 19940 KB Output is correct
77 Correct 470 ms 15288 KB Output is correct
78 Correct 467 ms 15472 KB Output is correct
79 Correct 490 ms 15060 KB Output is correct
80 Correct 482 ms 15372 KB Output is correct
81 Correct 418 ms 16680 KB Output is correct
82 Correct 442 ms 15444 KB Output is correct
83 Correct 472 ms 14772 KB Output is correct
84 Correct 426 ms 17084 KB Output is correct
85 Correct 389 ms 17900 KB Output is correct
86 Correct 364 ms 18152 KB Output is correct
87 Correct 380 ms 15860 KB Output is correct
88 Correct 438 ms 15136 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 11 ms 908 KB Output is correct
4 Correct 11 ms 856 KB Output is correct
5 Correct 12 ms 1372 KB Output is correct
6 Correct 11 ms 1176 KB Output is correct
7 Correct 12 ms 1116 KB Output is correct
8 Correct 11 ms 1108 KB Output is correct
9 Correct 10 ms 1112 KB Output is correct
10 Correct 12 ms 1372 KB Output is correct
11 Correct 10 ms 860 KB Output is correct
12 Correct 11 ms 860 KB Output is correct
13 Correct 12 ms 1376 KB Output is correct
14 Correct 11 ms 1116 KB Output is correct
15 Correct 11 ms 860 KB Output is correct
16 Correct 11 ms 1112 KB Output is correct
17 Correct 12 ms 1116 KB Output is correct
18 Correct 15 ms 1236 KB Output is correct
19 Correct 11 ms 1124 KB Output is correct
20 Correct 11 ms 1120 KB Output is correct
21 Correct 377 ms 11676 KB Output is correct
22 Correct 400 ms 12032 KB Output is correct
23 Correct 382 ms 11956 KB Output is correct
24 Correct 448 ms 12796 KB Output is correct
25 Correct 352 ms 19436 KB Output is correct
26 Correct 362 ms 19696 KB Output is correct
27 Correct 376 ms 12084 KB Output is correct
28 Correct 385 ms 11988 KB Output is correct
29 Correct 392 ms 12092 KB Output is correct
30 Correct 358 ms 7176 KB Output is correct
31 Correct 427 ms 8200 KB Output is correct
32 Correct 413 ms 15592 KB Output is correct
33 Correct 294 ms 15584 KB Output is correct
34 Correct 323 ms 15000 KB Output is correct
35 Correct 319 ms 15020 KB Output is correct
36 Correct 314 ms 14808 KB Output is correct
37 Correct 297 ms 15332 KB Output is correct
38 Correct 259 ms 13472 KB Output is correct
39 Correct 264 ms 14792 KB Output is correct
40 Correct 329 ms 19224 KB Output is correct
41 Correct 326 ms 19336 KB Output is correct
42 Correct 333 ms 17852 KB Output is correct
43 Correct 278 ms 13924 KB Output is correct
44 Correct 327 ms 18028 KB Output is correct
45 Correct 332 ms 17384 KB Output is correct
46 Correct 276 ms 15352 KB Output is correct
47 Correct 306 ms 16116 KB Output is correct
48 Correct 279 ms 14664 KB Output is correct
49 Correct 231 ms 11764 KB Output is correct
50 Correct 226 ms 11764 KB Output is correct
51 Correct 220 ms 11760 KB Output is correct
52 Correct 218 ms 11592 KB Output is correct
53 Correct 287 ms 14100 KB Output is correct
54 Correct 294 ms 15860 KB Output is correct
55 Correct 347 ms 17908 KB Output is correct
56 Correct 296 ms 15804 KB Output is correct
57 Correct 294 ms 14940 KB Output is correct
58 Correct 286 ms 14908 KB Output is correct
59 Correct 282 ms 15280 KB Output is correct
60 Correct 309 ms 15092 KB Output is correct
61 Correct 328 ms 17216 KB Output is correct
62 Correct 392 ms 17384 KB Output is correct
63 Correct 350 ms 19440 KB Output is correct
64 Correct 326 ms 18172 KB Output is correct
65 Correct 320 ms 17648 KB Output is correct
66 Correct 283 ms 15116 KB Output is correct
67 Correct 327 ms 16904 KB Output is correct
68 Correct 329 ms 18264 KB Output is correct
69 Correct 437 ms 15080 KB Output is correct
70 Correct 469 ms 15292 KB Output is correct
71 Correct 469 ms 15368 KB Output is correct
72 Correct 503 ms 15352 KB Output is correct
73 Correct 404 ms 16884 KB Output is correct
74 Correct 393 ms 5972 KB Output is correct
75 Correct 372 ms 17696 KB Output is correct
76 Correct 285 ms 7684 KB Output is correct
77 Correct 423 ms 15856 KB Output is correct
78 Correct 385 ms 18308 KB Output is correct
79 Correct 459 ms 15028 KB Output is correct
80 Correct 353 ms 19940 KB Output is correct
81 Correct 409 ms 17712 KB Output is correct
82 Correct 393 ms 15732 KB Output is correct
83 Correct 362 ms 19436 KB Output is correct
84 Correct 406 ms 18104 KB Output is correct
85 Correct 388 ms 12024 KB Output is correct
86 Correct 385 ms 11916 KB Output is correct
87 Correct 411 ms 12152 KB Output is correct
88 Correct 377 ms 12036 KB Output is correct
89 Correct 464 ms 15164 KB Output is correct
90 Correct 501 ms 15440 KB Output is correct
91 Correct 457 ms 15516 KB Output is correct
92 Correct 464 ms 15456 KB Output is correct
93 Correct 448 ms 8968 KB Output is correct
94 Correct 243 ms 5456 KB Output is correct
95 Correct 468 ms 13620 KB Output is correct
96 Correct 286 ms 5200 KB Output is correct
97 Correct 418 ms 17648 KB Output is correct
98 Correct 368 ms 19580 KB Output is correct
99 Correct 353 ms 19692 KB Output is correct
100 Correct 368 ms 19492 KB Output is correct
101 Correct 392 ms 15064 KB Output is correct
102 Correct 390 ms 14824 KB Output is correct
103 Correct 376 ms 18100 KB Output is correct
104 Correct 361 ms 17028 KB Output is correct
105 Correct 378 ms 11916 KB Output is correct
106 Correct 383 ms 12000 KB Output is correct
107 Correct 372 ms 12032 KB Output is correct
108 Correct 379 ms 12024 KB Output is correct
109 Correct 420 ms 15356 KB Output is correct
110 Correct 423 ms 17000 KB Output is correct
111 Correct 367 ms 20460 KB Output is correct
112 Correct 359 ms 19940 KB Output is correct
113 Correct 470 ms 15288 KB Output is correct
114 Correct 467 ms 15472 KB Output is correct
115 Correct 490 ms 15060 KB Output is correct
116 Correct 482 ms 15372 KB Output is correct
117 Correct 418 ms 16680 KB Output is correct
118 Correct 442 ms 15444 KB Output is correct
119 Correct 472 ms 14772 KB Output is correct
120 Correct 426 ms 17084 KB Output is correct
121 Correct 389 ms 17900 KB Output is correct
122 Correct 364 ms 18152 KB Output is correct
123 Correct 380 ms 15860 KB Output is correct
124 Correct 438 ms 15136 KB Output is correct
125 Correct 1128 ms 31324 KB Output is correct
126 Correct 1077 ms 30924 KB Output is correct
127 Correct 1104 ms 31156 KB Output is correct
128 Correct 1126 ms 31172 KB Output is correct
129 Correct 1092 ms 30964 KB Output is correct
130 Correct 1095 ms 30884 KB Output is correct
131 Correct 746 ms 10756 KB Output is correct
132 Correct 979 ms 22120 KB Output is correct
133 Correct 1090 ms 28904 KB Output is correct
134 Correct 1100 ms 12808 KB Output is correct
135 Correct 855 ms 31220 KB Output is correct
136 Correct 517 ms 8100 KB Output is correct
137 Correct 823 ms 39276 KB Output is correct
138 Correct 1010 ms 35260 KB Output is correct
139 Correct 913 ms 37396 KB Output is correct
140 Correct 787 ms 38692 KB Output is correct
141 Correct 918 ms 36376 KB Output is correct
142 Correct 1006 ms 28580 KB Output is correct
143 Correct 935 ms 30460 KB Output is correct
144 Correct 950 ms 28632 KB Output is correct
145 Correct 809 ms 38644 KB Output is correct
146 Correct 871 ms 31988 KB Output is correct
147 Correct 888 ms 30416 KB Output is correct
148 Correct 935 ms 29920 KB Output is correct
149 Correct 849 ms 24044 KB Output is correct
150 Correct 915 ms 24244 KB Output is correct
151 Correct 865 ms 24040 KB Output is correct
152 Correct 864 ms 24040 KB Output is correct
153 Correct 854 ms 24016 KB Output is correct
154 Correct 938 ms 24036 KB Output is correct
155 Correct 1051 ms 29148 KB Output is correct
156 Correct 1036 ms 30600 KB Output is correct
157 Correct 839 ms 39028 KB Output is correct
158 Correct 834 ms 39568 KB Output is correct
159 Correct 966 ms 35552 KB Output is correct
160 Correct 988 ms 32396 KB Output is correct
161 Correct 1088 ms 30528 KB Output is correct
162 Correct 1039 ms 30484 KB Output is correct
163 Correct 1122 ms 31264 KB Output is correct
164 Correct 1156 ms 30948 KB Output is correct
165 Correct 1123 ms 31400 KB Output is correct
166 Correct 1141 ms 30960 KB Output is correct
167 Correct 812 ms 40060 KB Output is correct
168 Correct 815 ms 40040 KB Output is correct
169 Correct 868 ms 38784 KB Output is correct
170 Correct 854 ms 38876 KB Output is correct
171 Correct 916 ms 36676 KB Output is correct
172 Correct 963 ms 31544 KB Output is correct
173 Correct 831 ms 38948 KB Output is correct
174 Correct 928 ms 32008 KB Output is correct
175 Correct 886 ms 36776 KB Output is correct
176 Correct 939 ms 30016 KB Output is correct
177 Correct 888 ms 35656 KB Output is correct
178 Correct 909 ms 35556 KB Output is correct