Darius

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

Darius se antrenează pentru competiția IronChild, un concurs de fitness unde rezistența, ritmul și alternanța exercițiilor sunt esențiale. Antrenorul îi propune o listă cu NN exerciții identificate prin numere naturale X1,X2,,XNX_1, X_2, \dots, X_N. Fiecare exercițiu are un anumit nivel de intensitate și poate fi de tip forță sau cardio.

Pentru concurs, Darius trebuie să-și selecteze din lista primită ce exerciții dorește, dar cu următoarele condiții: să nu aibă exerciții cu intensități egale și să le poată prezenta alternativ în funcție de tip. El este hotărât să câștige competiția, de aceea dorește să aleagă exercițiile astfel încât suma intensităților să fie cea mai mare posibilă.

Intensitatea exercițiului XiX_i este stabilită astfel: se construiește în ff numărul format prin alipirea, în ordine, a tuturor cifrelor impare din XiX_i și în cc numărul format prin alipirea, în ordine, a tuturor cifrelor pare din XiX_i. Dacă f>cf>c sau XiX_i nu are cifre pare atunci exercițiul XiX_i este de tip forță cu intensitatea ff, iar dacă f<cf<c sau XiX_i nu are cifre impare atunci este de tip cardio cu intensitatea cc.

Cerință

Scrieţi un program care să determine și să afișeze:

  1. Numărul intensităților distincte pentru exercițiile de tip forță, respectiv cardio din lista inițială.
  2. Intensitatea maximă din exercițiile de tip forță și din cele de tip cardio din lista inițială.
  3. Suma maximă posibilă a intensităților distincte obținută din exercițiile alternative alese de Darius.

Date de intrare

Fișierul darius.in conţine pe prima linie cerința — 11, 22 sau 33, pe a doua linie numărul NN, iar pe a treia linie numerele naturale X1,X2,,XNX_1, X_2, \dots, X_N ce identifică exercițiile propuse lui Darius de antrenorul său.

Date de ieșire

Fișierul darius.out va conține:

  • pentru cerința 1: două numere naturale separate printr-un singur spațiu reprezentând, în această ordine, numărul de intensități distincte ale exercițiilor de tip forță, respectiv cardio;
  • pentru cerința 2: două numere naturale separate printr-un singur spațiu reprezentând, în această ordine, intensitatea maximă a unui exercițiu de tip forță, respectiv cardio;
  • pentru cerința 3: suma maximă posibilă obținută din intensitățile exercițiilor alternative alese pentru concurs.

Restricții și precizări

  • 1<N100 0001 < N \leq 100 \ 000, număr natural
  • X1,X2,,XNX_1, X_2, \dots, X_N numere naturale nenule cu maxim 44 cifre, identifică exerciții de ambele tipuri
  • Se acordă pentru fiecare cerință 30 de puncte.

Exemplul 1

darius.in

1
8
41 1265 50 11 3236 172 323 5

darius.out

4 2

Explicație

Exerciții de tip forță:

  • 5050 (intensitate 55);
  • 1111 (intensitate 1111);
  • 32363236 (intensitate 3333);
  • 172172 (intensitate 1717);
  • 323323 (intensitate 3333);
  • 55 (intensitate 55);
  • 44 intensități distincte (55, 1111, 3333, 1717).

Exerciții de tip cardio:

  • 4141 (intensitate 44);
  • 12651265 (intensitate 2626);
  • 22 intensități distincte (44, 2626).

Exemplul 2

darius.in

2
8
41 1265 50 11 3236 172 323 5

darius.out

33 26

Explicație

Intensitatea maximă din exercițiile de tip forță este 3333.

Intensitatea maximă din exercițiile de tip cardio este 2626.

Exemplul 3

darius.in

3
8
41 1265 50 11 3236 172 323 5

darius.out

91

Explicație

O posibilitate de alegere a exercițiilor pentru a obține intensitatea maximă 9191 ar putea fi: 1111 (forță), 4141 (cardio), 32363236 (forță), 12651265 (cardio), 172172 (forță) (11+4+33+26+17=91)11+4+33+26+17=91).

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