Emanuel, proaspăt ajuns la Oxford, este nerăbdător să se apuce de treabă și să înceapă... să culeagă mere. Poziția în care aceasta se află în livadă se poate identifica folosind perechea de coordonate , inițial aflându-se în punctul . Datorită amplasării copacilor din livadă, Emanuel se poate mișca pe orizontală cu o viteză maximă , iar pe verticală cu o altă viteză maximă .
Începând ziua de muncă, Emanuel își notează în carnețelul lui coordonatele și momentul de timp în care recoltează merele pentru fiecare din cei meri din care va culege mere, urmând să-i justifice șefului recolta sa. Pentru că în tot acest timp el încerca să demonstreze ipoteza lui Riemann, își notează în caiet mereu doar una din cele două coordonate la care se afla, uneori cea orizontală, alteori cea verticală.
La finalul zilei, el își dă seama de greșeala făcută și se întreabă cât de plauzibil este traseul lui, pentru a-i explica șefului întâmplarea și a nu fi trimis în Cambridge la cules de pere. Pentru a determina probabilitatea traseului, el va presupune pentru fiecare coordonată notată, pe rând, că aceasta este pe orizontală, iar apoi pe verticală și va număra toate configurațiile posibile.
Cerință
Se va implementa funcția
int count(int N, int VA, int VB, int *X, int *T)
ce va returna numărul de configurații posibile modulo . reprezintă numărul de evenimente (recolte), și vitezele maxime pe cele două direcții. și sunt două șiruri de elemente, indexate de la , ce memorează una din coordonate respectiv momentul de timp pentru fiecare eveniment.
Restricții și precizări
- Valorile sunt date în ordine crescătoare
- Enunțul și punctajele nu corespund cu cele din timpul concursului
Subtask 1 (6 puncte)
Subtask 2 (24 puncte)
Subtask 3 (41 puncte)
Subtask 4 (29 puncte)
Exemplu
Se dau și evenimentele:
Există moduri posibile de atribuire a coordonatelor:
- și pe orizontală (cu viteza ), și pe verticală (cu viteza ). Avem următoarele perechi (poziție, timp)
Pe orizontală:
Pe verticală: - , , pe orizontală, pe verticală.
Pe orizontală:
Pe verticală:
Nu am putea avea și pe orizontală, și pe verticală, deoarece ar însemna să ne mișcăm pe verticală de la perechea la ; imposibil deoarece am parcurge unități în secunde, iar viteza maximă pe verticală este .