Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2017-05-10 06:31:18.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:bfs2.in, bfs2.outSursăLot 2017 Baraj 3
AutorBaltatu Andrei, Lucian Bicsi, Radu MunteanAdăugată deeudanipEugenie Daniel Posdarascu eudanip
Timp execuţie pe test1 secLimită de memorie262144 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Bfs2

Copiii de la 402 au auzit clopoţelul şi au ieşit repede afară să se joace. Văzând un stâlp foarte mare în mijlocul terenului ei s-au gândit la următorul joc. Iniţial s-au împărţit în fete şi băieţi (în număr de M, respectiv N) şi s-au aşezat astfel:

Stâlpul e în poziţie verticală (înclinare 0). Fiecare jucător are o anumită forţă ($B[i]$ - forţa băiatului i, F[i] - forţa fetei i). Jocul decurge astfel: la fiecare pas, fie băiatul cel mai apropiat de stâlp, fie fata cea mai apropiată de stâlp, va arunca mingea spre stâlp (băiatul spre dreapta, fata spre stânga), după care va ieşi din joc. După orice aruncare, stâlpul se va înclina suplimentar în partea opusă aruncătorului cu o valoare egală cu forţa acestuia. Bineînţeles, cu cât forţa aruncătorului este mai mare, cu atât stâlpul se va înclina mai mult. Mai mult, stâlpul nu va reveni la înclinarea iniţială după aruncare.

Cu toate acestea, pentru ca jocul să nu capete întorsături neplăcute de situaţie, stâlpul nu are voie niciodată să fie înclinat cu o valoare strict mai mare decât S (în niciuna din părţi), atât în timpul jocului, cât şi la finalul acestuia.

Copiii se întreabă dacă pot găsi o ordine a aruncărilor astfel încât toţi să arunce mingea şi să respecte restricţiile de mai sus (gradul maxim al stâlpului să se menţină în limitele de siguranţă). Totuşi doamna profesoară vrea să încingă lucrurile, astfel că în cadrul a Q momente de timp interschimbă două fete sau doi băieţi plasaţi consecutiv. Orice schimbare a doamnei profesoare se păstrează pentru momentele de timp următoare.

Voi trebuie să ajutaţi copiii şi să aflaţi după fiecare interschimbare dacă există o ordine validă a aruncărilor.

Date de intrare

Fişierul bfs.in conţine pe prima linie trei numere N, M şi S reprezentând numărul de băieţi, numărul de fete şi înclinarea maximă admisă a stâlpului. Pe a doua linie se vor găsi N numere naturale reprezentând forţele băieţilor. Pe a treia linie se vor găsi M numere naturale reprezentând forţele fetelor. Pe a patra linie se va găsi Q reprezentând numărul de interschimbări efectuate. Urmează Q linii de forma “[B|F] x y” (fără ghilimele), unde [B|F] reprezintă în ce grup se face interschimbarea, iar x şi y reprezintă poziţiile între care se realizează interschimbarea.

Date de ieşire

Fişierul bfs.out conţine Q linii, astfel pe linia i aflându-se valoarea 1, dacă jocul se poate termina cu succes dupa primele i interschimbări şi 0 în caz contrar.

Restricţii

  • 1 ≤ N, M, Q ≤ 100 000
  • 1 ≤ B[i], F[i], S ≤ 109, pentru orice i
  • Pentru fiecare schimbare se garantează că |x - y| = 1
  • Se garantează că, înainte de efectuarea primei interschimbări, jocul se poate termina cu succes.
  • Pentru teste în valoare de 10 puncte N, M ≤ 100 şi $Q ≤ 250$
  • Pentru alte teste în valoare de 20 puncte N,M ≤ 2500 şi $Q ≤ 6000$
  • Pentru alte teste în valoare de 65 puncte N,M ≤ 100000 şi $Q ≤ 35000$

Exemplu

table(example). |_. bfs2.in |_. bfs2.out |
|
6 3 30000
15000 15000 60000 30000 29805 56555
60000 60000 57187
14
B 2 3
B 2 3
B 2 3
B 2 3
F 2 3
F 2 3
B 2 3
B 2 3
B 3 4
B 3 4
B 2 3
B 2 3
F 2 3
F 2 3
|
0
1
0
1
0
1
0
1
0
1
0
1
0
1
|

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?