Nu aveti permisiuni pentru a descarca fisierul grader_test2.in
Diferente pentru problema/vagoane intre reviziile #49 si #38
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="vagoane") ==
bq. Noi urmărim ... sănu fim urmăriţi!
bq. Noi urmarim ... sa nu fim urmariti!
Brigada Diverse a fost informatăcăîn trenul de ora zece sunt plasate peste $7$ vagoane pline cu ... grăunţeşi cartofi. Seştie căpeîntuneric distingerea unui material de altul nu este o treaba uşoară, aşa căse va organiza o inspecţieîn depoul Gării de Nord, cu participarea a $M$ câini special dresaţi. Cele $N$ vagoane ale trenului sunt dispuse secvenţial, unul dupăaltulîn spatele locomotivei, fiind numerotate cu numereîntregi consecutive de la $1$ la $N$. Fiecare câine poate fi folosit o singurădatăde-a lungul verificării,în vederea testării unui singur interval compact de vagoane. Un câine va lătra imediat dacăîntâlneşte $2$ vagoane cu acelaşi conţinutîn intervalul pe care acestaîl verifică(altfel acesta nu va lătra deloc). Dacăun singur câine latră,întregul transport va fi periclitat, aşa căvoi va trebui săcalculaţi numărul de moduri de aîncărca fiecare vagon cu câte unul din cele $C$ conţinuturi posibile astfelîncât acţiunea sănu fie compromisă.
Brigada Diverse a fost informata ca in trenul de ora zece sunt plasate peste $7$ vagoane pline cu ... graunte si cartofi. Se stie ca pe intuneric distingerea unui material de altul nu este o treaba usoara, asa ca se va organiza o inspectie in depoul Garii de Nord, cu participarea a $M$ caini special dresati. Cele $N$ vagoane ale trenului sunt dispuse secvential, unul dupa altul in spatele locomotivei, fiind numerotate cu numere intregi consecutive de la $1$ la $N$. Fiecare caine poate fi folosit o singura data de-a lungul verificarii, in vederea testarii unui singur interval compact de vagoane. Un caine va latra imediat daca intalneste $2$ vagoane cu acelasi continut in intervalul pe care acesta il verifica (altfel acesta nu va latra deloc). Daca un singur caine latra, intregul transport va fi periclitat, asa ca voi va trebui sa calculati numarul de moduri de a incarca fiecare vagon cu cate unul din cele $C$ continuturi posibile astfel incat actiunea sa nu fie compromisa.
h2. Date de intrare
h2. Date de intrare
Fişierul de intrare $vagoane.în$ conţine pe prima linie numerele $N$, $M$şi $C$,în ordineşi separate prin câte un spaţiu. Pe fiecare din următoarele M linii se aflăcâte douănumereîntregi pozitive $L$şi $R$ astfelîncât $1≤L≤R≤N$, reprezentând capetele intervalului de vagoane pe care câinele respectiv patrulează.
Fişierul de intrare $vagoane.in$ contine pe prima linie numerele $N$, $M$ si $C$, in ordine si separate prin cate un spatiu. Pe fiecare din urmatoarele M linii se afla cate doua numere intregi pozitive $L$ si $R$, astfel incat $1 ≤ L ≤ R ≤ N$, reprezentand capetele intervalului de vagoane pe care cainele respectiv patruleaza.
h2. Date de ieşire
h2. Date de ieşire
Fişierul de ieşire $vagoane.out$ trebuie săconţinăun singur numărîntreg nenegativ $ANS$, reprezentând numărul de moduri de a umple vagoanele trenului **modulo $1000000007$**.
Fişierul de ieşire $vagoane.out$ trebuie sa contina un singur numar intreg nenegativ $ANS$, reprezentand numarul de moduri de a umple vagoanele trenului **modulo $1000000007$**.
h2. Restricţii
h2. Restricţii
* $1 ≤ N ≤ 10^9^$ * $0 ≤ M ≤ 2 * 10^5^$ * $1 ≤ C ≤ 5 * 10^5^$
* $1 ≤ N ≤ 10^9^$ * $0 ≤ M ≤ 2 * 10^5^$ * $1 ≤ C ≤ 5 * 10^5^$ * **Atentie!** Volum mare de date de intrare, va recomandam sa optimizati citirea folosindu-va de "acest cod":http://pastebin.com/dfEATDDB.
* **Atenţie!** Volum mare de date de intrare, vă recomandăm să optimizaţi citirea folosindu-va de "acest cod":http://pastebin.com/dfEATDDB.
* **Subtask 1 (10 puncte):** $M = 0$ * **Subtask 2 (20 puncte):** $N ≤ 1000, M ≤ 2000$ * **Subtask 3 (30 puncte):** $N ≤ 10^5^$ * **Subtask 4 (40 punctE):** Restrictii initiale
* **Atentie!** Fiecare subtask are testele grupate! * **Subtask 1 (10 puncte):** $M = 0$ (Feedback testul 1) * **Subtask 2 (20 puncte):** $N ≤ 1000, M ≤ 2000$ (Feedback testul 2) * **Subtask 3 (30 puncte):** $N ≤ 10^5^$ * **Subtask 4 (40 puncte):** Restricţii iniţiale (Feedback testele 7 si 8)
h2. Exemplu
h2. Exemplu table(example). |_. vagoane.în |_. vagoane.out | | 3 2 3 1 2 2 3 | 12
table(example). |_. vagoane.in |_. vagoane.out | | 3 2 3 1 2 2 3 | 12
|
h3. Explicaţie
h3. Explicaţie
Cele 12 metode de aîncărca trenul sunt, dacăcodificăm cele 3încărcături posibile cu numerele $1$, $2$şi $3$:
Cele 12 metode de a incarca trenul sunt, daca codificam cele 3 incarcaturi posibile cu numerele $1$, $2$ si $3$:
$1 2 1$ $1 2 3$ $1 3 1$