#include <iostream>
#include <unordered_map>
using namespace std;
struct Item
{
int val;
};
int main() {
unordered_map<int, Item> itemMap;
itemMap[0] = {0};
itemMap[1] = {1};
itemMap[2] = {2};
itemMap[3] = {3};
const Item* bestItem = nullptr;
int bestVal = -1;
for (const pair<int, Item>& item : itemMap)
{
if (item.second.val > bestVal)
{
bestVal = item.second.val;
bestItem = &item.second;
}
}
cout << "best val: " << bestVal << " best item: " << bestItem->val;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBJdGVtCnsKCWludCB2YWw7Cn07CgppbnQgbWFpbigpIHsKCXVub3JkZXJlZF9tYXA8aW50LCBJdGVtPiBpdGVtTWFwOwoJaXRlbU1hcFswXSA9IHswfTsKCWl0ZW1NYXBbMV0gPSB7MX07CglpdGVtTWFwWzJdID0gezJ9OwoJaXRlbU1hcFszXSA9IHszfTsKCWNvbnN0IEl0ZW0qIGJlc3RJdGVtID0gbnVsbHB0cjsKCWludCBiZXN0VmFsID0gLTE7Cglmb3IgKGNvbnN0IHBhaXI8aW50LCBJdGVtPiYgaXRlbSA6IGl0ZW1NYXApCgl7CgkJaWYgKGl0ZW0uc2Vjb25kLnZhbCA+IGJlc3RWYWwpCgkJewoJCQliZXN0VmFsID0gaXRlbS5zZWNvbmQudmFsOwoJCQliZXN0SXRlbSA9ICZpdGVtLnNlY29uZDsKCQl9Cgl9Cgljb3V0IDw8ICJiZXN0IHZhbDogIiA8PCBiZXN0VmFsIDw8ICIgYmVzdCBpdGVtOiAiIDw8IGJlc3RJdGVtLT52YWw7CglyZXR1cm4gMDsKfQ==