Lista de probleme 3

Etichete

#3694 tomi

Tomi este primarul ales în orașul Bittown. În oras sunt N locuitori și fiecare are un gard format din exact 60 de scânduri, fiecare dintre ele fiind vopsită în alb sau negru. Fiecare gard este codificat de Tomi printr-un număr natural a cărui reprezentare binară reproduce configurația gardului, de la stânga spre dreapta, scândurile negre fiind asimilate cu bitul 1 iar cele albe cu bitul 0. Astfel, ca exemplu, gardul care are doar ultimele două scânduri vopsite în negru va fi codificat de Tomi cu numărul 3. Tomi decide să-și construiască un gard care să fie reprezentativ pentru Bittown, adică să respecte toate regulile următoare:
1. Gardul primarului Tomi trebuie să aibă exact 60 de scânduri;
2. Trebuie să existe cel puțin K locuitori în Bittown care constată că pentru toate scândurile negre din gardul propriu, scândurile situate pe aceeași poziție în gardul primarului Tomi sunt vopsite tot în negru;
3. Numărul reprezentând codul gardului primarului Tomi trebuie să fie minim posibil.

#3793 cort

O curte dreptunghiulară de lungime N și lățime M (vom numi N linii și M coloane) este pavată cu dale
pătrate de dimensiune 1. Dalele au două culori, sunt albe sau negre (vom codifica dalele albe cu 0 și dalele negre cu 1). Dalele negre sunt fabricate dintr-un material mult mai rezistent decât dalele albe, iar Ionel ar vrea sa monteze un cort de suprafață maximă sub care să fie doar dale negre. El știe de asemenea că există doar corturi dreptunghiulare și pătrate, de orice dimensiune. Din motive tehnice, Ionel poate să facă doar următoarele operații cu dalele din curte:

  • să schimbe între ele oricâte dale de pe aceeși linie;
  • să schimbe de oricâte ori dorește o linie întreagă cu altă linie tot întreagă;

Scrieți un program care rezolvă următoarele două cerințe:
1. Afișează numărul maxim de dale negre care s-ar putea obține pe o coloană după rearanjare;
2. Afișează aria maximă a cortului ce poate fi amplasat doar pe dale negre.

Se dă o stivă vidă. Elementele stivei sunt numerotate incepand cu 1 de la bază înspre vârf. Avem de procesat T comenzi de tipurile:

  • 0 x – elementul x se va adăuga în vârful stivei
  • 1 x y add – tuturor elementelor din intervalul x y le va fi adăugată valoarea add
  • 2 – eliminarea elementului din vârf

Afisați dupa fiecare operație elementul din vârful stivei.