#include #include #include // Úloha 26-2-4 - těžší varianta (v čase O(K * log K)) // Vstup: počet kostek (K), K dvojic hmotnost a nosnost (w, l) using namespace std; struct kostka { int w; // Hmotnost kostky int l; // Nosnost kostky // Funkce pro porovnání dvou kostek, umožňuje požadované třídění dle součtu w+l bool operator< (const kostka &a) const { return w+l < a.w+a.l; }; }; int K; // Počet kostek vector vsechny_kostky; int main() { //Načtení vstupu cin >> K; for (int i=0; i> vstup.w; cin >> vstup.l; vsechny_kostky.push_back(vstup); } // Setřídění podle součtu hmotnosti a nosnosti sort(vsechny_kostky.begin(), vsechny_kostky.end()); int hmotnost_kostek_nad_nami = 0; // Projití kostek od nejmenší po největší podle součtu w+l for (int i=0; i