- #include <iostream> 
- #include <vector> 
-   
- void print_vec_pair(std::vector<std::pair<int, int>>& v) { 
-   
- 	for (const auto& a : v) { 
- 		std::cout << "(" << a.first << ", " << a.second << ") "; 
- 	} 
- 	std::cout << std::endl; 
- } 
-   
- bool compare_pairs(std::pair<int, int>& a, std::pair<int, int>& b) { 
-   
- 	if (a.second == b.second) 
- 		return true; 
- 	else 
- 		return false; 
- } 
-   
- std::vector<std::pair<int, int>> decimation(std::vector<std::pair<int, int>>& data, int N) { 
-   
- 	std::vector<std::pair<int, int>> res; 
- 	int cnt = 1; 
-   
- 	for (size_t i = 0; i < data.size()-1; i++) { 
-   
- 		if (cnt == 1 || cnt == N) { 
- 			res.push_back(data[i]); 
- 			if (cnt == N) { 
- 				cnt = 1; 
- 			} 
- 		} 
-   
- 		if (compare_pairs(data[i], data[i + 1])) { 
- 			cnt++; 
- 		} 
- 		else { 
- 			cnt == 1; 
- 		} 
-   
- 	} 
-   
- 	return res; 
- } 
-   
-   
- int main() 
- { 
- 	std::vector<std::pair<int, int>> data; 
- 	data.push_back({ 1, 10 }); 
- 	data.push_back({ 2, 11 }); 
- 	data.push_back({ 3, 11 }); 
- 	data.push_back({ 4, 11 }); 
- 	data.push_back({ 5, 11 }); 
- 	data.push_back({ 6, 10 }); 
- 	data.push_back({ 7, 11 }); 
- 	data.push_back({ 8, 11 }); 
- 	data.push_back({ 9, 11 }); 
- 	data.push_back({ 10, 11 }); 
- 	data.push_back({ 11, 11 }); 
- 	data.push_back({ 12, 11 }); 
- 	data.push_back({ 13, 11 }); 
- 	data.push_back({ 14, 10 }); 
-   
- 	auto result3 = decimation(data, 3); 
- 	auto result4 = decimation(data, 4); 
-   
- 	print_vec_pair(data); 
- 	std::cout << std::endl; 
- 	print_vec_pair(result3); 
- 	std::cout << std::endl; 
- 	print_vec_pair(result4); 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdm9pZCBwcmludF92ZWNfcGFpcihzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8aW50LCBpbnQ+PiYgdikgewoKCWZvciAoY29uc3QgYXV0byYgYSA6IHYpIHsKCQlzdGQ6OmNvdXQgPDwgIigiIDw8IGEuZmlyc3QgPDwgIiwgIiA8PCBhLnNlY29uZCA8PCAiKSAiOwoJfQoJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKfQoKYm9vbCBjb21wYXJlX3BhaXJzKHN0ZDo6cGFpcjxpbnQsIGludD4mIGEsIHN0ZDo6cGFpcjxpbnQsIGludD4mIGIpIHsKCglpZiAoYS5zZWNvbmQgPT0gYi5zZWNvbmQpCgkJcmV0dXJuIHRydWU7CgllbHNlCgkJcmV0dXJuIGZhbHNlOwp9CgpzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8aW50LCBpbnQ+PiBkZWNpbWF0aW9uKHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxpbnQsIGludD4+JiBkYXRhLCBpbnQgTikgewoKCXN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxpbnQsIGludD4+IHJlczsKCWludCBjbnQgPSAxOwoKCWZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZGF0YS5zaXplKCktMTsgaSsrKSB7CgkKCQlpZiAoY250ID09IDEgfHwgY250ID09IE4pIHsKCQkJcmVzLnB1c2hfYmFjayhkYXRhW2ldKTsKCQkJaWYgKGNudCA9PSBOKSB7CgkJCQljbnQgPSAxOwoJCQl9CgkJfQoKCQlpZiAoY29tcGFyZV9wYWlycyhkYXRhW2ldLCBkYXRhW2kgKyAxXSkpIHsKCQkJY250Kys7CgkJfQoJCWVsc2UgewoJCQljbnQgPT0gMTsKCQl9CgkKCX0KCglyZXR1cm4gcmVzOwp9CgoKaW50IG1haW4oKQp7CglzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8aW50LCBpbnQ+PiBkYXRhOwoJZGF0YS5wdXNoX2JhY2soeyAxLCAxMCB9KTsKCWRhdGEucHVzaF9iYWNrKHsgMiwgMTEgfSk7CglkYXRhLnB1c2hfYmFjayh7IDMsIDExIH0pOwoJZGF0YS5wdXNoX2JhY2soeyA0LCAxMSB9KTsKCWRhdGEucHVzaF9iYWNrKHsgNSwgMTEgfSk7CglkYXRhLnB1c2hfYmFjayh7IDYsIDEwIH0pOwoJZGF0YS5wdXNoX2JhY2soeyA3LCAxMSB9KTsKCWRhdGEucHVzaF9iYWNrKHsgOCwgMTEgfSk7CglkYXRhLnB1c2hfYmFjayh7IDksIDExIH0pOwoJZGF0YS5wdXNoX2JhY2soeyAxMCwgMTEgfSk7CglkYXRhLnB1c2hfYmFjayh7IDExLCAxMSB9KTsKCWRhdGEucHVzaF9iYWNrKHsgMTIsIDExIH0pOwoJZGF0YS5wdXNoX2JhY2soeyAxMywgMTEgfSk7CglkYXRhLnB1c2hfYmFjayh7IDE0LCAxMCB9KTsKCglhdXRvIHJlc3VsdDMgPSBkZWNpbWF0aW9uKGRhdGEsIDMpOwoJYXV0byByZXN1bHQ0ID0gZGVjaW1hdGlvbihkYXRhLCA0KTsKCglwcmludF92ZWNfcGFpcihkYXRhKTsKCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CglwcmludF92ZWNfcGFpcihyZXN1bHQzKTsKCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CglwcmludF92ZWNfcGFpcihyZXN1bHQ0KTsKfQ==
				
				
				
				
				
			 
			
				
			
			
				
	
		
		
	
	
		(1, 10) (2, 11) (3, 11) (4, 11) (5, 11) (6, 10) (7, 11) (8, 11) (9, 11) (10, 11) (11, 11) (12, 11) (13, 11) (14, 10) 
(1, 10) (2, 11) (4, 11) (8, 11) (10, 11) (12, 11) 
(1, 10) (2, 11) (5, 11) (6, 10) (7, 11) (10, 11) (13, 11)