prajituri

Time limit: 0.02s Memory limit: 2MB Input: prajituri.in Output: prajituri.outPoints by default: 10p

Ilinca şi verişoara ei Daria, merg la un curs de gătit. Ilinca a făcut o prăjitură cu NN straturi, iar Daria a făcut o prăjitură cu MM straturi, straturile prăjiturilor fiind aşezate unul după altul pe orizontală şi având diverse culori. E posibil ca unele straturi din prăjitură să aibă aceeaşi culoare.
Ilinca a observat că dacă ar tăia prăjitura ei la capete ar putea obţine o prăjitură la fel ca prăjitura Dariei. Ilinca spune că astfel „extrage” din prăjitura ei prăjitura Dariei. La o extragere, Ilinca taie întotdeauna un număr minim de straturi din partea stângă (straturi pe care le mănâncă imediat) şi câte straturi sunt necesare în partea dreaptă pentru a obţine o prăjitură identică cu prăjitura Dariei. Prăjitura extrasă o aşază pe o farfurie şi continuă „extragerile” din bucata rămasă în partea dreaptă.

Cerinţe

Scrieţi un program care să citească numerele naturale NN şi MM (reprezentând numărul de straturi din prăjitura Ilincăi respectiv Dariei) şi a1,a2,,aNa_1,a_2, \dots ,a_N şi b1,b2,,bMb_1,b_2,\dots,b_M (reprezentând culorile straturilor din prăjitura Ilincăi respectiv din prăjitura Dariei) şi care să determine:
a) numărul de straturi pe care le taie Ilinca din capătul din stânga şi numărul de straturi pe care le taie din capătul din dreapta la prima extragere;
b) numărul de prăjituri identice cu prăjitura Dariei care se vor afla pe farfurie, după efectuarea tuturor extragerilor;
c) numărul maxim de prăjituri la fel ca prăjitura Dariei care pot fi obţinute din prăjitura Ilincăi dacă aceasta ar rearanja straturile prăjiturii ei într-o ordine convenabilă.

Date de intrare

Fişierul de intrare prajituri.in conţine pe prima linie numerele naturale N MN \ M reprezentând numărul de straturi din prăjitura Ilincăi, respectiv a Dariei. A doua linie a fişierului conţine, în ordine, cele NN numere a1,a2,,aNa_1, a_2, \dots, a_N, separate prin câte un spaţiu, reprezentând, în ordine de la stânga la dreapta, culorile straturilor din prăjitura Ilincăi. A treia linie a fişierului conţine, în ordine, cele MM numere b1,b2,,bMb_1, b_2, \dots, b_M, separate prin câte un spaţiu, reprezentând, în ordine de la stânga la dreapta, culorile straturilor din prăjitura Dariei.

Date de ieşire

Fişierul de ieşire prajituri.out va conţine pe prima linie două numere, separate printr-un spaţiu, reprezentând numărul de straturi tăiate din stânga, respectiv numărul de straturi tăiate din dreapta din prăjitura Ilincăi la prima extragere, separate prin spaţiu. A doua linie va conţine un număr natural reprezentând numărul de prăjituri aflate pe farfurie după efectuarea tuturor extragerilor. A treia linie va conţine un număr natural reprezentând numărul maxim de prăjituri la fel ca prăjitura Dariei care se pot obţine din prăjitura Ilincăi dacă aceasta ar rearanja convenabil straturile prăjiturii ei.

Restricţii

  • 1MN10 0001 \leq M \leq N \leq 10\ 000
  • 1ai1001 \leq a_i \leq 100, (1iN)(1 \leq i \leq N)
  • 1bi1001 \leq b_i \leq 100, (1iM)(1 \leq i \leq M)
  • NN, MM, a1,a2,,aNa_1, a_2, \dots, a_N, b1,b2,,bMb_1, b_2, \dots, b_M sunt numere naturale
  • Întotdeauna se poate obţine din prăjitura Ilincăi cel puţin o prăjitură la fel ca prăjitura Dariei
  • Dacă valorile scrise pe prima linie a fişierului de ieşire sunt rezolvarea corectă a cerinţei a) se acordă 30%30\% din punctaj; dacă valoarea scrisă pe a doua linie a fişierului de ieşire este rezolvarea corectă a cerinţei b) se acordă 40% din punctaj; dacă valoarea scrisă pe a treia linie a fişierului de ieşire este rezolvarea corectă a cerinţei c) se acordă 30%30\% din punctaj.

Exemplul 1

prajituri.in

5 3
6 2 2 2 2
6 2 2

prajituri.out

0 2
1
1

Explicație

Prăjitura Ilincăi are 55 straturi, iar a Dariei 33 straturi, pentru a obţine prăjitura Dariei, Ilinca trebuie să taie din stânga 00 straturi şi din dreapta 22 straturi, se poate obţine doar o prăjitură ca a Dariei indiferent de procedeul folosit

Exemplul 2

prajituri.in

10 2
5 6 8 8 6 8 6 8 6 6
6 8

prajituri.out

1 7
3
4

Explicație

Prăjitura Ilincăi are 1010 straturi, iar a Dariei 22 straturi, pentru a obţine prăjitura Dariei, Ilinca trebuie să taie din stânga 11 strat şi din dreapta 77 straturi. Prin procedeul de tăiere se pot obţine 33 prăjituri la fel ca prăjitura Dariei. Prin rearanjarea straturilor se pot obţine maxim 44 prăjituri la fel ca prăjitura Dariei

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