Scrieți un program care rezolvă următoarele două cerințe:
# citește descrierea unui drum și afișează numărul la care se termină drumul;
# citește un număr natural nenul K, determină un drum care se termină cu numărul K pentru care suma numerelor prin care trece drumul este maximă și afișează această sumă.
# citește un număr natural nenul *K*, determină un drum care se termină cu numărul *K* pentru care suma numerelor prin care trece drumul este maximă și afișează această sumă.
h2. Date de intrare
Fișierul de intrare $numere8.in$ conține pe prima linie un număr natural C reprezentând cerința din problemă care trebuie rezolvată (1 sau 2).
Fișierul de intrare $numere8.in$ conține pe prima linie un număr natural *C* reprezentând cerința din problemă care trebuie rezolvată (1 sau 2).
* Dacă C este egal cu 1, a doua linie din fișier conține un număr natural N, reprezentând lungimea drumului, iar a treia linie din fișier conține descrierea drumului sub forma a N valori, 1 sau 2, separate între ele prin câte un spațiu.
* Dacă C este egal cu 2, a doua linie din fișier conține numărul natural K.
* Dacă *C* este egal cu 1, a doua linie din fișier conține un număr natural *N*, reprezentând lungimea drumului, iar a treia linie din fișier conține descrierea drumului sub forma a *N* valori, 1 sau 2, separate între ele prin câte un spațiu.
* Dacă *C* este egal cu 2, a doua linie din fișier conține numărul natural *K*.
h2. Date de ieșire
Fișierul de ieșire $numere8.out$ va conține o singură linie pe care va fi scris un singur număr natural. Dacă C=1, va fi scris numărul cu care se termină drumul descris în fișierul de intrare. Dacă C=2, va fi scrisă suma maximă a numerelor aflate pe un drum care se termină cu numărul K.
Fișierul de ieșire $numere8.out$ va conține o singură linie pe care va fi scris un singur număr natural. Dacă [*C*]=1, va fi scris numărul cu care se termină drumul descris în fișierul de intrare. Dacă [*C*]=2, va fi scrisă suma maximă a numerelor aflate pe un drum care se termină cu numărul *K*.
h2. Restricții
* 1 ≤ N ≤ 10000
* 1 ≤ K ≤ -10001*10002/2- 100000
* Pentru rezolvarea corectă a cerinței 1 se acordă 45 de puncte; pentru rezolvarea corectă a cerinței 2 se acordă 55 de puncte. -10 puncte se acordă din oficiu.-
* 1 ≤ *N* ≤ 10000
* 1 ≤ *K* ≤ -10001*10002/2- 100000
* Pentru rezolvarea corectă a cerinței 1 se acordă -40- 45 de puncte; pentru rezolvarea corectă a cerinței 2 se acordă -50- 55 de puncte. -10 puncte se acordă din oficiu.-
h2. Exemplu
table(example).
|_. numere8.in |_. numere8.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
table(example).
|_. numere8.in |_. numere8.out |_. Explicații |
| 1
4
1 2 1 2
| 13
| Cerința este 1. Drumul descris are lungimea 4 și trece prin
numerele 1, 2, 5, 8, 13
|
| 2
9
| 19
| Cerința este 2. Suma maximă se obține pe drumul care trece prin
numerele 1,3,6,9 (1+3+6+9=19)
|
h3. Explicație
...
== include(page="template/taskfooter" task_id="numere8") ==