.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » numere13

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
numere13


Timp maxim de execuţie / test:
100s
Memorie totala disponibilă / stivă:
2MB / 1MB

Un copil construieşte un triunghi cu numerele naturale nenule astfel:
– în vârful triunghiului scrie valoarea 1;
– completează liniile triunghiului de sus în jos, iar căsuţele de pe aceeaşi linie de la stânga la dreapta cu numere naturale consecutive, ca în figurile următoare.



În figura 1 este ilustrat un astfel de triunghi având 5 linii, conţinând numerele naturale de la 1 la 15.
În acest triunghi copilul începe să construiască drumuri, respectând următoarele reguli:
– orice drum începe din 1;
– din orice căsuţă se poate deplasa fie în căsuţa situată pe linia următoare în stânga sa (deplasare codificată cu 1), fie în căsuţa situată pe linia următoare în dreapta sa (deplasare codficată cu 2);
– orice drum va fi descris prin succesiunea deplasărilor efectuate.
De exemplu, drumul ilustrat în figura 2 poate fi descris astfel: 1 2 2 2.

Cerinţă

Scrieţi un program care rezolvă următoarele două cerinţe:
1. citeşte descrierea unui drum şi afişează numărul la care se termină drumul;
2. 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ă.

Date de intrare

Fișierul de intrare numere.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.

Date de ieşire

Fişierul de ieşire numere.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.

Restricţii

1 ≤ N ≤ 10000
1 ≤ K ≤ 10001*10002/2

Exemple

numere13.innumere13.outExplicaţ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)

autor: Prof. Cerasela-Daniela Cardas
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Probleme recomandate
surse trimise | ajutor