#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
#include "json.hpp"
using json = nlohmann::json;
struct Item {
std::string key;
int value;
};
int main() {
std::ifstream file("t2.json");
if (!file.is_open()) {
std::cout << "Cannot open file\n";
return 1;
}
json j;
file >> j;
std::vector<int> values = j["values"];
std::vector<std::string> keys = j["keys"];
int default_value = j["default_value"];
std::vector<Item> items;
for (size_t i = 0; i < keys.size(); ++i) {
int val;
if (i < values.size())
val = values[i];
else
val = default_value;
items.push_back({keys[i], val});
}
// сортировка по убыванию value
std::sort(items.begin(), items.end(),
[](const Item& a, const Item& b) {
return a.value > b.value;
});
// вывод ключей
for (const auto& item : items) {
std::cout << item.key << std::endl;
}
return 0;
}