#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
int main()
{
std::vector<int> v{5, 6, 4, 3, 2, 6, 7, 9, 3};
std::nth_element(v.begin(), v.begin() + v.size()/2, v.end());
std::cout << "중앙값 : " << v[v.size()/2] << '\n';
std::nth_element(v.begin(), v.begin()+1, v.end(), std::greater<int>());
std::cout << "두번째로 큰 값 : " << v[1] << '\n';
std::nth_element(v.begin(), v.begin(), v.end(), std::greater<int>());
std::cout << "가장 큰 값 : " << v[0] << '\n';
std::nth_element(v.begin(), v.end() - 1, v.end(), std::greater<int>());
std::cout << "가장 작은 값 : " << v[v.size() - 1] << '\n';
std::nth_element(v.begin(), v.end() - 2, v.end(), std::greater<int>());
std::cout << "두번째로 작은 값 : " << v[v.size() - 2] << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIAppbnQgbWFpbigpCnsKICAgIHN0ZDo6dmVjdG9yPGludD4gdns1LCA2LCA0LCAzLCAyLCA2LCA3LCA5LCAzfTsKIAogICAgc3RkOjpudGhfZWxlbWVudCh2LmJlZ2luKCksIHYuYmVnaW4oKSArIHYuc2l6ZSgpLzIsIHYuZW5kKCkpOwogICAgc3RkOjpjb3V0IDw8ICLspJHslZnqsJIgOiAiIDw8IHZbdi5zaXplKCkvMl0gPDwgJ1xuJzsKIAogICAgc3RkOjpudGhfZWxlbWVudCh2LmJlZ2luKCksIHYuYmVnaW4oKSsxLCB2LmVuZCgpLCBzdGQ6OmdyZWF0ZXI8aW50PigpKTsKICAgIHN0ZDo6Y291dCA8PCAi65GQ67KI7Ke466GcIO2BsCDqsJIgOiAiIDw8IHZbMV0gPDwgJ1xuJzsKIAogICAgc3RkOjpudGhfZWxlbWVudCh2LmJlZ2luKCksIHYuYmVnaW4oKSwgdi5lbmQoKSwgc3RkOjpncmVhdGVyPGludD4oKSk7CiAgICBzdGQ6OmNvdXQgPDwgIuqwgOyepSDtgbAg6rCSIDogIiA8PCB2WzBdIDw8ICdcbic7CiAKICAgIHN0ZDo6bnRoX2VsZW1lbnQodi5iZWdpbigpLCB2LmVuZCgpIC0gMSwgdi5lbmQoKSwgc3RkOjpncmVhdGVyPGludD4oKSk7CiAgICBzdGQ6OmNvdXQgPDwgIuqwgOyepSDsnpHsnYAg6rCSIDogIiA8PCB2W3Yuc2l6ZSgpIC0gMV0gPDwgJ1xuJzsKIAogICAgc3RkOjpudGhfZWxlbWVudCh2LmJlZ2luKCksIHYuZW5kKCkgLSAyLCB2LmVuZCgpLCBzdGQ6OmdyZWF0ZXI8aW50PigpKTsKICAgIHN0ZDo6Y291dCA8PCAi65GQ67KI7Ke466GcIOyekeydgCDqsJIgOiAiIDw8IHZbdi5zaXplKCkgLSAyXSA8PCAnXG4nOwogICAgCiAgICByZXR1cm4gMDsKfQ==