#include <vector>
#include <unordered_map>
using namespace std;
// Estructura para representar un nodo del Trie
struct TrieNode {
unordered_map<char, TrieNode*> children;
int score;
TrieNode() : score(0) {}
};
// Clase para manejar el Trie
class Trie {
public:
Trie() {
root = new TrieNode();
}
// Insertar una palabra en el Trie con su puntuación
void insert(const string& word, int score) {
TrieNode* node = root;
for (char c : word) {
if (!node->children[c]) {
node->children[c] = new TrieNode();
}
node = node->children[c];
}
node->score = score;
}