Pathinter

Time limit: 0.1s Memory limit: 64MB Input: pathinter.in Output: pathinter.out

Cerință

Radu și Petru se joacă un joc pe aleea din parc. Aceasta este delimitată de două borduri laterale și are peste tot aceeași lățime. Conform desenului de mai jos, le vom numi pe cele două: bordura de sus și bordura de jos.
Radu pleacă undeva de pe bordura de jos și pășește în linie dreaptă până ajunge într-un loc de pe bordura de sus, apoi iarăși în linie dreaptă până într-un loc de pe bordura de jos, apoi iar sus și tot așa. El notează locul în care a atins fiecare bordură. Drumul său are proprietatea că dacă a pășit o dată pe o bordură, următoarea dată el ajunge pe acea bordură într-o poziție aflată strict mai la dreapta. Un traseu al lui Radu este evidențiat cu roșu în desenul de mai jos.
După ce Radu încheie traseul, Petru face și el un traseu după exact aceleași reguli (pleacă de pe bordura de jos, merge în linie dreaptă, pășește alternativ pe cele două borduri și pentru fiecare bordură poposește mereu mai la dreapta față de locul în care fusese pe ea ultima dată). Mai jos considerăm traseul lui Petru colorat în albastru.

Cunoscând datele traseelor celor doi, să se determine numărul de puncte în care ele se intersectează.

Date de intrare

Prima linie a fișierului de intrare pathinter.in conține numărul NN de atingeri cu bordurile pentru traseul lui Radu. Pe următoarea linie se află locurile în care atinge bordurile Radu, sub forma șirului RR de numere naturale reprezentând distanțele față de începutul aleii.
Pe următoarele două linii este descris în mod similar traseul lui Petru, format din numărul MM reprezentând numărul de atingeri și șirul PP determinând distanțele la care Petru atinge bordurile.

Date de ieșire

Pe prima linie a fișierului de ieșire pathinter.out se va găsi numărul de puncte în care se intersectează cele două trasee.

Restricții și precizări

  • 1N,M100 0001 \leq N, M \leq 100 \ 000
  • 1Ri,Pj1 000 0001 \leq R_{i}, P_{j} \leq 1 \ 000 \ 000, pentru orice iNi \leq N, respectiv jMj \leq M;
  • Oricare două locuri în care cei doi ating aceeași bordură sunt distincte;
  • Conform enunțului, numerele de pe poziții impare din șirul fiecăruia sunt atingeri ale bordurii de jos;
  • Pentru orice poziție i>2i > 2, Ri>Ri2R_{i} > R_{i - 2} și Pi>Pi2P_{i} > P_{i - 2};
  • Pentru 4040 de puncte, 1N,M2 0001 \leq N, M \leq 2 \ 000;
  • Pentru alte 2020 de puncte, șirurile RR și PP sunt strict crescătoare;

Exemplu

pathinter.in

10
1 3 4 8 6 10 9 11 12 14
5
2 5 7 13 15

pathinter.out

8

Log in or sign up to be able to send submissions!