# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1140309 | goatmar | Catfish Farm (IOI22_fish) | C++20 | 0 ms | 0 KiB |
#include <iostream>
#include <vector>
#include <unordered_map>
#include <algorithm>
using namespace std;
// Estructura para representar un bagre
struct Bagre {
int x, y, peso;
};
// Función para calcular el peso máximo de bagres que se pueden capturar
int64_t max_weights(int N, int M, const vector<int>& X, const vector<int>& Y, const vector<int>& W) {
// Mapa para almacenar los bagres por columna
unordered_map<int, vector<Bagre>> bagresPorColumna;
// Llenar el mapa con los bagres
for (int i = 0; i < M; ++i) {
bagresPorColumna[X[i]].push_back({X[i], Y[i], W[i]});
}
int64_t pesoTotal = 0;
// Iterar sobre cada columna
for (int c = 0; c < N; ++c) {
// Si no hay bagres en esta columna, continuar
if (bagresPorColumna.find(c) == bagresPorColumna.end()) continue;
// Ordenar los bagres en esta columna por su posición en Y