Diferente pentru problema/great intre reviziile #1 si #18

Diferente intre titluri:

great
Great

Diferente intre continut:

== include(page="template/taskheader" task_id="great") ==
Poveste şi cerinţă...
In Republica Federala Serbanistan alegerile prezidentiale se desfasoara dupa o metodologie deosebita.
 
- Exista doar doi candidati, iar fiecare persoana din Serbanistan va vota pentru exact unul dintre candidati.
- Serbanistanul este impartit in mai multe state, fiecare avand un numar de locuitori ( $people[i]$ ) si o greutate electorala ( $weight[i]$ ).
- Candidatul A castiga cel de al $i$-lea stat daca are strict mai multi votanti decat candidatul B in statul respectiv. In acest caz, greutatea totala a candidatului A creste cu exact $weight[i]$.
- La final candidatul care are greutatea totala mai mare castiga alegerile si devine noul presedinte al Serbanistanului.
 
In mod oarecum contraintuitiv pentru o democratie pura cum este Serbanistanul, acest sistem permite unui candidat sa castige presedintia chiar daca acesta a adunat in total mai putine voturi decat adversarul sau. Sarcina voastra in aceasta problema este sa detectati aceasta posibilitate.
 
Serbanistanul este initial inexistent (dar totusi democratic). In fiecare an dintre urmatorii $N$ componenta sa se schimba cu exact un stat: fie apare un stat nou, fie unul din cele existente se hotaraste sa paraseasca Serbanistanul. Este posibil ca la diferite momente de timp structura Serbanistanului sa cauzeze ambiguitati in procesul alegerilor: este posibil sa existe egalitate de voturi la nivelul unui stat, la nivelul greutatii totale sau la nivelul votului popular total. Din acest motiv ne vom limita la a studia doar situatiile *clare*. Spunem ca Serbanistanul se afla intr-o situatie *clara* doar daca au loc *toate* conditiile urmatoare:
 
- Numarul de locuitori al fiecarui stat este impar.
- Numarul total de locuitori ai Serbanistanului este impar
- Suma totala a greutatilor electorale este impara.
 
Vi se cere sa analizati situatia Serbanistanului dupa fiecare actualizare a componentei statale. Daca dupa o anumita actualizare Serbanistsanul nu se afla intr-o situatie *clara*, nu veti afisa nimic. Altfel, veti afisa "YES" daca este posibil ca un candidat sa castige alegerile avand mai putine voturi in total, respectiv "NO" daca acest lucru nu este posibil.
h2. Date de intrare
Fişierul de intrare $great.in$ ...
Fişierul de intrare $great.in$ va contine pe prima sa linie numarul $N$, reprezentand numarul de actualizari ale componentei Serbanistranului. Urmatoarele $N$ linii vor contine cate trei numere $tip people weight$. Daca $tip$ este egal cu $0$, acesta codifica alaturarea unui nou stat cu $people$ locuitori si greutate electorala $weight$. Daca $tip$ este egal cu $1$ acesta codifica eliminarea unui stat cu $people$ locuitori si greutate electorala $weight$ din cele existente. Se garanteaza ca un asemenea stat exista in componenta Serbanistanului la momentul respectiv.
h2. Date de ieşire
În fişierul de ieşire $great.out$ ...
În fişierul de ieşire $great.out$ se vor afla mai multe linii, in numar egal cu numarul ocaziilor in care situatia Serbanistanului este *clara*, conform definitiei de mai sus. Fiecare linie va contine un raspuns din multimea {"YES", "NO"}.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ N ≤ 200.000$
* $1 ≤ people[i], weight[i] ≤ 10^9^$
* Teste in valoare de $50%$ din punctaj au $1 ≤ N ≤ 1500$.
h2. Exemplu
table(example). |_. great.in |_. great.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 3
0 3 1
0 1 1
0 1 3
| NO
YES
|
h3. Explicaţie
...
Dupa alipirea primului stat, situatia este clara, dar nu este posibil ca un candidat sa castige alegerile fara a castiga si votul popular. Dupa alipirea celui de-al doilea stat situatia nu mai este clara deoarece numarul total de locuitori este acum par. Dupa alipirea celui de-al treilea stat, orice candidat care castiga acest stat (fiind votat de singurul sau locuitor) a castigat deja alegerile, dar poate pierde votul popular chiar cu 4 voturi la 1.
== include(page="template/taskfooter" task_id="great") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.