Submission #383032

# Submission time Handle Problem Language Result Execution time Memory
383032 2021-03-28T17:57:50 Z maximath_1 Segments (IZhO18_segments) C++11
100 / 100
2187 ms 32972 KB
#include <stdio.h>
#include <string>
#include <math.h>
#include <algorithm>
#include <vector>
#include <string.h>
#include <numeric>
#include <queue>
#include <assert.h>
#include <map>
#include <set>
#include <limits.h>
using namespace std;
 
#define ll long long
#define ld long double
const int MX = 200005;
const int LG = (int)log2(MX) + 2;
const int BLOCK = 1205;
const ll mod = 1e9 + 7;
const ll inv2 = (mod + 1) / 2;
 
#define gc getchar//_unlocked //can't for window server
void cin(int &x){
	char c = gc(); bool neg = false;
	for(; c < '0'||'9' < c; c = gc())
		if(c == '-') neg=true;
	x = c - '0'; c = gc();
	for(; '0' <= c && c <= '9'; c = gc())
		x = (x << 1) + (x << 3) + (c - '0');
	if(neg) x = -x;
}
 
int n, t, last_ans = 0;
int lf[MX], rg[MX], len[MX], cnt_id = 0;
 
bool cmp(int a, int b){
	return len[a] <= len[b];
}
 
int isect(int l1, int r1, int l2, int r2){
	return min(r1, r2) - max(l1, l2) + 1;
}
 
struct dat{
	vector<int> pend, all;
	vector<int> BL[MX], BR[MX];
 
	void add(int id){
		pend.push_back(id);
		if(pend.size() >= BLOCK){
			vector<int> tmp;
			sort(pend.begin(), pend.end(), cmp);

			int i = 0, j = 0;
			for(i = 0, j = 0; i < pend.size() && j < all.size();){
				if(cmp(pend[i], all[j])){
					tmp.push_back(pend[i]);
					i ++;
				}else{
					tmp.push_back(all[j]);
					j ++;
				}
			}

			for(; i < pend.size(); i ++)
				tmp.push_back(pend[i]);
			for(; j < all.size(); j ++)
				tmp.push_back(all[j]);

			all.clear(); pend.clear();
			all = tmp;
 
			for(int bl = 0; bl * BLOCK < all.size(); bl ++)
				BL[bl].clear(), BR[bl].clear();
 
			for(int i = 0; i < all.size(); i ++){
				int bl = i / BLOCK;
				BL[bl].push_back(lf[all[i]]);
				BR[bl].push_back(rg[all[i]]);
			}
 
			for(int bl = 0; bl * BLOCK < all.size(); bl ++)
				sort(BL[bl].begin(), BL[bl].end()),
				sort(BR[bl].begin(), BR[bl].end());
		}
	}
 
	int get(int l, int r, int k){
		int res = 0;
		if(r - l + 1 < k) return 0;
 
		for(int i = 0; i < pend.size(); i ++)
			if(isect(lf[pend[i]], rg[pend[i]], l, r) >= k)
				res ++;
 
 		int cnt = 0;
		for(int bl = 0; bl * BLOCK < all.size(); bl ++){
			int st = bl * BLOCK, ed = min(st + BLOCK - 1, (int)all.size() - 1);
 
			if(len[all[st]] >= k){
				res += ed - st + 1;
				res -= BL[bl].end() - upper_bound(BL[bl].begin(), BL[bl].end(), r - k + 1);
				res -= lower_bound(BR[bl].begin(), BR[bl].end(), l + k - 1) - BR[bl].begin();
			}else if(len[all[ed]] >= k){
				cnt ++;
				for(int i = st; i <= ed; i ++)
					if(isect(lf[all[i]], rg[all[i]], l, r) >= k)
						res ++;					
			}
		}

		if(cnt > 1){
			exit(42);
		}
 
		return res;
	}
} active, deleted;
 
int main(){
	cin(n); cin(t);
 
	for(int tp, l, r, k; n --;){
		cin(tp);
		if(tp == 1){
			cin(l); cin(r);
			l ^= (t * last_ans);
			r ^= (t * last_ans);
			if(l > r) swap(l, r);
 
			cnt_id ++;
			lf[cnt_id] = l, rg[cnt_id] = r;
			len[cnt_id] = r - l + 1;
 
			active.add(cnt_id);
		}else if(tp == 2){
			cin(k);
 
			deleted.add(k);
		}else{
			cin(l); cin(r); cin(k);
			l ^= (t * last_ans);
			r ^= (t * last_ans);
			if(l > r) swap(l, r);
 
			last_ans = active.get(l, r, k) - deleted.get(l, r, k);
			printf("%d\n", last_ans);
		}
	}
 
	return 0;
}

Compilation message

segments.cpp: In member function 'void dat::add(int)':
segments.cpp:56:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |    for(i = 0, j = 0; i < pend.size() && j < all.size();){
      |                      ~~^~~~~~~~~~~~~
segments.cpp:56:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |    for(i = 0, j = 0; i < pend.size() && j < all.size();){
      |                                         ~~^~~~~~~~~~~~
segments.cpp:66:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |    for(; i < pend.size(); i ++)
      |          ~~^~~~~~~~~~~~~
segments.cpp:68:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |    for(; j < all.size(); j ++)
      |          ~~^~~~~~~~~~~~
segments.cpp:74:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   74 |    for(int bl = 0; bl * BLOCK < all.size(); bl ++)
      |                    ~~~~~~~~~~~^~~~~~~~~~~~
segments.cpp:77:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   77 |    for(int i = 0; i < all.size(); i ++){
      |                   ~~^~~~~~~~~~~~
segments.cpp:83:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   83 |    for(int bl = 0; bl * BLOCK < all.size(); bl ++)
      |                    ~~~~~~~~~~~^~~~~~~~~~~~
segments.cpp: In member function 'int dat::get(int, int, int)':
segments.cpp:93:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   93 |   for(int i = 0; i < pend.size(); i ++)
      |                  ~~^~~~~~~~~~~~~
segments.cpp:98:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   98 |   for(int bl = 0; bl * BLOCK < all.size(); bl ++){
      |                   ~~~~~~~~~~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 13 ms 19052 KB Output is correct
2 Correct 14 ms 19052 KB Output is correct
3 Correct 22 ms 19180 KB Output is correct
4 Correct 22 ms 19180 KB Output is correct
5 Correct 21 ms 19308 KB Output is correct
6 Correct 20 ms 19328 KB Output is correct
7 Correct 22 ms 19180 KB Output is correct
8 Correct 19 ms 19180 KB Output is correct
9 Correct 19 ms 19180 KB Output is correct
10 Correct 17 ms 19308 KB Output is correct
11 Correct 24 ms 19180 KB Output is correct
12 Correct 24 ms 19180 KB Output is correct
13 Correct 17 ms 19308 KB Output is correct
14 Correct 20 ms 19180 KB Output is correct
15 Correct 27 ms 19180 KB Output is correct
16 Correct 22 ms 19180 KB Output is correct
17 Correct 22 ms 19180 KB Output is correct
18 Correct 18 ms 19308 KB Output is correct
19 Correct 24 ms 19308 KB Output is correct
20 Correct 21 ms 19180 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 662 ms 22104 KB Output is correct
2 Correct 710 ms 24636 KB Output is correct
3 Correct 671 ms 24536 KB Output is correct
4 Correct 675 ms 24688 KB Output is correct
5 Correct 540 ms 26220 KB Output is correct
6 Correct 542 ms 26136 KB Output is correct
7 Correct 671 ms 24536 KB Output is correct
8 Correct 661 ms 24716 KB Output is correct
9 Correct 680 ms 24604 KB Output is correct
10 Correct 510 ms 23520 KB Output is correct
11 Correct 634 ms 23772 KB Output is correct
12 Correct 638 ms 24484 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 351 ms 21520 KB Output is correct
2 Correct 352 ms 21608 KB Output is correct
3 Correct 348 ms 21564 KB Output is correct
4 Correct 350 ms 21728 KB Output is correct
5 Correct 507 ms 22788 KB Output is correct
6 Correct 470 ms 22212 KB Output is correct
7 Correct 505 ms 22456 KB Output is correct
8 Correct 533 ms 24088 KB Output is correct
9 Correct 504 ms 23960 KB Output is correct
10 Correct 453 ms 23236 KB Output is correct
11 Correct 352 ms 21780 KB Output is correct
12 Correct 456 ms 23800 KB Output is correct
13 Correct 454 ms 22964 KB Output is correct
14 Correct 365 ms 22580 KB Output is correct
15 Correct 363 ms 22640 KB Output is correct
16 Correct 361 ms 22044 KB Output is correct
17 Correct 467 ms 22104 KB Output is correct
18 Correct 465 ms 21976 KB Output is correct
19 Correct 462 ms 21976 KB Output is correct
20 Correct 498 ms 22092 KB Output is correct
21 Correct 361 ms 21976 KB Output is correct
22 Correct 433 ms 22612 KB Output is correct
23 Correct 437 ms 22448 KB Output is correct
24 Correct 418 ms 22700 KB Output is correct
25 Correct 351 ms 21600 KB Output is correct
26 Correct 344 ms 21468 KB Output is correct
27 Correct 359 ms 21752 KB Output is correct
28 Correct 345 ms 21616 KB Output is correct
29 Correct 443 ms 22960 KB Output is correct
30 Correct 439 ms 22860 KB Output is correct
31 Correct 506 ms 24108 KB Output is correct
32 Correct 495 ms 23564 KB Output is correct
33 Correct 418 ms 22824 KB Output is correct
34 Correct 375 ms 22120 KB Output is correct
35 Correct 397 ms 22584 KB Output is correct
36 Correct 433 ms 22976 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 572 ms 21472 KB Output is correct
2 Correct 609 ms 23388 KB Output is correct
3 Correct 566 ms 23392 KB Output is correct
4 Correct 573 ms 23392 KB Output is correct
5 Correct 657 ms 25072 KB Output is correct
6 Correct 551 ms 23144 KB Output is correct
7 Correct 608 ms 25768 KB Output is correct
8 Correct 583 ms 23520 KB Output is correct
9 Correct 584 ms 24740 KB Output is correct
10 Correct 553 ms 25712 KB Output is correct
11 Correct 619 ms 23944 KB Output is correct
12 Correct 524 ms 26212 KB Output is correct
13 Correct 569 ms 25012 KB Output is correct
14 Correct 603 ms 24188 KB Output is correct
15 Correct 523 ms 26008 KB Output is correct
16 Correct 566 ms 25228 KB Output is correct
17 Correct 664 ms 24848 KB Output is correct
18 Correct 671 ms 24684 KB Output is correct
19 Correct 667 ms 24656 KB Output is correct
20 Correct 689 ms 24628 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 19052 KB Output is correct
2 Correct 14 ms 19052 KB Output is correct
3 Correct 22 ms 19180 KB Output is correct
4 Correct 22 ms 19180 KB Output is correct
5 Correct 21 ms 19308 KB Output is correct
6 Correct 20 ms 19328 KB Output is correct
7 Correct 22 ms 19180 KB Output is correct
8 Correct 19 ms 19180 KB Output is correct
9 Correct 19 ms 19180 KB Output is correct
10 Correct 17 ms 19308 KB Output is correct
11 Correct 24 ms 19180 KB Output is correct
12 Correct 24 ms 19180 KB Output is correct
13 Correct 17 ms 19308 KB Output is correct
14 Correct 20 ms 19180 KB Output is correct
15 Correct 27 ms 19180 KB Output is correct
16 Correct 22 ms 19180 KB Output is correct
17 Correct 22 ms 19180 KB Output is correct
18 Correct 18 ms 19308 KB Output is correct
19 Correct 24 ms 19308 KB Output is correct
20 Correct 21 ms 19180 KB Output is correct
21 Correct 662 ms 22104 KB Output is correct
22 Correct 710 ms 24636 KB Output is correct
23 Correct 671 ms 24536 KB Output is correct
24 Correct 675 ms 24688 KB Output is correct
25 Correct 540 ms 26220 KB Output is correct
26 Correct 542 ms 26136 KB Output is correct
27 Correct 671 ms 24536 KB Output is correct
28 Correct 661 ms 24716 KB Output is correct
29 Correct 680 ms 24604 KB Output is correct
30 Correct 510 ms 23520 KB Output is correct
31 Correct 634 ms 23772 KB Output is correct
32 Correct 638 ms 24484 KB Output is correct
33 Correct 572 ms 21472 KB Output is correct
34 Correct 609 ms 23388 KB Output is correct
35 Correct 566 ms 23392 KB Output is correct
36 Correct 573 ms 23392 KB Output is correct
37 Correct 657 ms 25072 KB Output is correct
38 Correct 551 ms 23144 KB Output is correct
39 Correct 608 ms 25768 KB Output is correct
40 Correct 583 ms 23520 KB Output is correct
41 Correct 584 ms 24740 KB Output is correct
42 Correct 553 ms 25712 KB Output is correct
43 Correct 619 ms 23944 KB Output is correct
44 Correct 524 ms 26212 KB Output is correct
45 Correct 569 ms 25012 KB Output is correct
46 Correct 603 ms 24188 KB Output is correct
47 Correct 523 ms 26008 KB Output is correct
48 Correct 566 ms 25228 KB Output is correct
49 Correct 664 ms 24848 KB Output is correct
50 Correct 671 ms 24684 KB Output is correct
51 Correct 667 ms 24656 KB Output is correct
52 Correct 689 ms 24628 KB Output is correct
53 Correct 555 ms 23484 KB Output is correct
54 Correct 558 ms 23516 KB Output is correct
55 Correct 562 ms 23460 KB Output is correct
56 Correct 556 ms 23520 KB Output is correct
57 Correct 642 ms 23736 KB Output is correct
58 Correct 557 ms 23016 KB Output is correct
59 Correct 700 ms 24744 KB Output is correct
60 Correct 469 ms 23020 KB Output is correct
61 Correct 575 ms 25012 KB Output is correct
62 Correct 539 ms 25944 KB Output is correct
63 Correct 519 ms 26392 KB Output is correct
64 Correct 525 ms 26012 KB Output is correct
65 Correct 573 ms 23872 KB Output is correct
66 Correct 579 ms 24048 KB Output is correct
67 Correct 572 ms 24748 KB Output is correct
68 Correct 583 ms 24564 KB Output is correct
69 Correct 673 ms 24876 KB Output is correct
70 Correct 675 ms 24920 KB Output is correct
71 Correct 670 ms 24792 KB Output is correct
72 Correct 666 ms 24536 KB Output is correct
73 Correct 581 ms 24172 KB Output is correct
74 Correct 575 ms 24624 KB Output is correct
75 Correct 519 ms 26136 KB Output is correct
76 Correct 520 ms 26136 KB Output is correct
77 Correct 559 ms 23392 KB Output is correct
78 Correct 569 ms 23412 KB Output is correct
79 Correct 557 ms 23520 KB Output is correct
80 Correct 585 ms 23660 KB Output is correct
81 Correct 585 ms 24568 KB Output is correct
82 Correct 608 ms 24276 KB Output is correct
83 Correct 577 ms 24200 KB Output is correct
84 Correct 592 ms 24536 KB Output is correct
85 Correct 572 ms 25088 KB Output is correct
86 Correct 563 ms 25656 KB Output is correct
87 Correct 628 ms 24728 KB Output is correct
88 Correct 602 ms 23932 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 19052 KB Output is correct
2 Correct 14 ms 19052 KB Output is correct
3 Correct 22 ms 19180 KB Output is correct
4 Correct 22 ms 19180 KB Output is correct
5 Correct 21 ms 19308 KB Output is correct
6 Correct 20 ms 19328 KB Output is correct
7 Correct 22 ms 19180 KB Output is correct
8 Correct 19 ms 19180 KB Output is correct
9 Correct 19 ms 19180 KB Output is correct
10 Correct 17 ms 19308 KB Output is correct
11 Correct 24 ms 19180 KB Output is correct
12 Correct 24 ms 19180 KB Output is correct
13 Correct 17 ms 19308 KB Output is correct
14 Correct 20 ms 19180 KB Output is correct
15 Correct 27 ms 19180 KB Output is correct
16 Correct 22 ms 19180 KB Output is correct
17 Correct 22 ms 19180 KB Output is correct
18 Correct 18 ms 19308 KB Output is correct
19 Correct 24 ms 19308 KB Output is correct
20 Correct 21 ms 19180 KB Output is correct
21 Correct 662 ms 22104 KB Output is correct
22 Correct 710 ms 24636 KB Output is correct
23 Correct 671 ms 24536 KB Output is correct
24 Correct 675 ms 24688 KB Output is correct
25 Correct 540 ms 26220 KB Output is correct
26 Correct 542 ms 26136 KB Output is correct
27 Correct 671 ms 24536 KB Output is correct
28 Correct 661 ms 24716 KB Output is correct
29 Correct 680 ms 24604 KB Output is correct
30 Correct 510 ms 23520 KB Output is correct
31 Correct 634 ms 23772 KB Output is correct
32 Correct 638 ms 24484 KB Output is correct
33 Correct 351 ms 21520 KB Output is correct
34 Correct 352 ms 21608 KB Output is correct
35 Correct 348 ms 21564 KB Output is correct
36 Correct 350 ms 21728 KB Output is correct
37 Correct 507 ms 22788 KB Output is correct
38 Correct 470 ms 22212 KB Output is correct
39 Correct 505 ms 22456 KB Output is correct
40 Correct 533 ms 24088 KB Output is correct
41 Correct 504 ms 23960 KB Output is correct
42 Correct 453 ms 23236 KB Output is correct
43 Correct 352 ms 21780 KB Output is correct
44 Correct 456 ms 23800 KB Output is correct
45 Correct 454 ms 22964 KB Output is correct
46 Correct 365 ms 22580 KB Output is correct
47 Correct 363 ms 22640 KB Output is correct
48 Correct 361 ms 22044 KB Output is correct
49 Correct 467 ms 22104 KB Output is correct
50 Correct 465 ms 21976 KB Output is correct
51 Correct 462 ms 21976 KB Output is correct
52 Correct 498 ms 22092 KB Output is correct
53 Correct 361 ms 21976 KB Output is correct
54 Correct 433 ms 22612 KB Output is correct
55 Correct 437 ms 22448 KB Output is correct
56 Correct 418 ms 22700 KB Output is correct
57 Correct 351 ms 21600 KB Output is correct
58 Correct 344 ms 21468 KB Output is correct
59 Correct 359 ms 21752 KB Output is correct
60 Correct 345 ms 21616 KB Output is correct
61 Correct 443 ms 22960 KB Output is correct
62 Correct 439 ms 22860 KB Output is correct
63 Correct 506 ms 24108 KB Output is correct
64 Correct 495 ms 23564 KB Output is correct
65 Correct 418 ms 22824 KB Output is correct
66 Correct 375 ms 22120 KB Output is correct
67 Correct 397 ms 22584 KB Output is correct
68 Correct 433 ms 22976 KB Output is correct
69 Correct 572 ms 21472 KB Output is correct
70 Correct 609 ms 23388 KB Output is correct
71 Correct 566 ms 23392 KB Output is correct
72 Correct 573 ms 23392 KB Output is correct
73 Correct 657 ms 25072 KB Output is correct
74 Correct 551 ms 23144 KB Output is correct
75 Correct 608 ms 25768 KB Output is correct
76 Correct 583 ms 23520 KB Output is correct
77 Correct 584 ms 24740 KB Output is correct
78 Correct 553 ms 25712 KB Output is correct
79 Correct 619 ms 23944 KB Output is correct
80 Correct 524 ms 26212 KB Output is correct
81 Correct 569 ms 25012 KB Output is correct
82 Correct 603 ms 24188 KB Output is correct
83 Correct 523 ms 26008 KB Output is correct
84 Correct 566 ms 25228 KB Output is correct
85 Correct 664 ms 24848 KB Output is correct
86 Correct 671 ms 24684 KB Output is correct
87 Correct 667 ms 24656 KB Output is correct
88 Correct 689 ms 24628 KB Output is correct
89 Correct 555 ms 23484 KB Output is correct
90 Correct 558 ms 23516 KB Output is correct
91 Correct 562 ms 23460 KB Output is correct
92 Correct 556 ms 23520 KB Output is correct
93 Correct 642 ms 23736 KB Output is correct
94 Correct 557 ms 23016 KB Output is correct
95 Correct 700 ms 24744 KB Output is correct
96 Correct 469 ms 23020 KB Output is correct
97 Correct 575 ms 25012 KB Output is correct
98 Correct 539 ms 25944 KB Output is correct
99 Correct 519 ms 26392 KB Output is correct
100 Correct 525 ms 26012 KB Output is correct
101 Correct 573 ms 23872 KB Output is correct
102 Correct 579 ms 24048 KB Output is correct
103 Correct 572 ms 24748 KB Output is correct
104 Correct 583 ms 24564 KB Output is correct
105 Correct 673 ms 24876 KB Output is correct
106 Correct 675 ms 24920 KB Output is correct
107 Correct 670 ms 24792 KB Output is correct
108 Correct 666 ms 24536 KB Output is correct
109 Correct 581 ms 24172 KB Output is correct
110 Correct 575 ms 24624 KB Output is correct
111 Correct 519 ms 26136 KB Output is correct
112 Correct 520 ms 26136 KB Output is correct
113 Correct 559 ms 23392 KB Output is correct
114 Correct 569 ms 23412 KB Output is correct
115 Correct 557 ms 23520 KB Output is correct
116 Correct 585 ms 23660 KB Output is correct
117 Correct 585 ms 24568 KB Output is correct
118 Correct 608 ms 24276 KB Output is correct
119 Correct 577 ms 24200 KB Output is correct
120 Correct 592 ms 24536 KB Output is correct
121 Correct 572 ms 25088 KB Output is correct
122 Correct 563 ms 25656 KB Output is correct
123 Correct 628 ms 24728 KB Output is correct
124 Correct 602 ms 23932 KB Output is correct
125 Correct 1600 ms 28448 KB Output is correct
126 Correct 1627 ms 28300 KB Output is correct
127 Correct 1628 ms 28176 KB Output is correct
128 Correct 1600 ms 28392 KB Output is correct
129 Correct 1581 ms 28268 KB Output is correct
130 Correct 1598 ms 28076 KB Output is correct
131 Correct 1311 ms 27104 KB Output is correct
132 Correct 2085 ms 30236 KB Output is correct
133 Correct 2011 ms 30652 KB Output is correct
134 Correct 1246 ms 27372 KB Output is correct
135 Correct 2070 ms 31188 KB Output is correct
136 Correct 1170 ms 26472 KB Output is correct
137 Correct 1959 ms 32908 KB Output is correct
138 Correct 1857 ms 30808 KB Output is correct
139 Correct 1929 ms 31956 KB Output is correct
140 Correct 1935 ms 32608 KB Output is correct
141 Correct 1897 ms 31808 KB Output is correct
142 Correct 1652 ms 28764 KB Output is correct
143 Correct 1764 ms 29308 KB Output is correct
144 Correct 1633 ms 28328 KB Output is correct
145 Correct 1948 ms 32480 KB Output is correct
146 Correct 1815 ms 29592 KB Output is correct
147 Correct 1770 ms 29328 KB Output is correct
148 Correct 1767 ms 29056 KB Output is correct
149 Correct 2165 ms 29976 KB Output is correct
150 Correct 2182 ms 30076 KB Output is correct
151 Correct 2164 ms 30016 KB Output is correct
152 Correct 2187 ms 30360 KB Output is correct
153 Correct 2172 ms 29976 KB Output is correct
154 Correct 2170 ms 30104 KB Output is correct
155 Correct 1722 ms 29036 KB Output is correct
156 Correct 1770 ms 29268 KB Output is correct
157 Correct 1945 ms 32716 KB Output is correct
158 Correct 1971 ms 32972 KB Output is correct
159 Correct 1889 ms 31356 KB Output is correct
160 Correct 1833 ms 30188 KB Output is correct
161 Correct 1583 ms 28100 KB Output is correct
162 Correct 1589 ms 28236 KB Output is correct
163 Correct 1580 ms 28440 KB Output is correct
164 Correct 1623 ms 28208 KB Output is correct
165 Correct 1594 ms 28060 KB Output is correct
166 Correct 1586 ms 28284 KB Output is correct
167 Correct 1975 ms 32908 KB Output is correct
168 Correct 1959 ms 32948 KB Output is correct
169 Correct 1949 ms 32636 KB Output is correct
170 Correct 1952 ms 32680 KB Output is correct
171 Correct 1894 ms 31384 KB Output is correct
172 Correct 1806 ms 29656 KB Output is correct
173 Correct 1983 ms 32736 KB Output is correct
174 Correct 1820 ms 29504 KB Output is correct
175 Correct 1908 ms 31904 KB Output is correct
176 Correct 1783 ms 29844 KB Output is correct
177 Correct 1901 ms 30544 KB Output is correct
178 Correct 1872 ms 30592 KB Output is correct