Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | avere.in, avere.out | Sursă | ONI 2005 |
Autor | Emilian Miron | Adăugată de | |
Timp execuţie pe test | 0.025 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Avere
Aceasta pagina a fost importata din infoarena1 si nu este inca prelucrata. Sterge ==Include(file="template/raw")== cand esti multumit cu continutul paginii. |
---|
Italag a fost toata viata pasionat de speculatii bursiere reusind sa adune o avere considerabila. Fiind un tip original si pasiont de matematica a scris un testament inedit. Testamentul contine doua numere naturale: S reprezentand averea ce trebuie impartita mostenitorilor si N reprezentand alegerea sa pentru impartirea averii. Italag decide sa-si imparta toata averea, iar sumele pe care le acorda mostenitorilor sa fie in ordine strict descrescatoare.
De exemplu daca averea ar fi 7 unitati monetare, ar putea fi impartita astfel:
- 4 (unitati primului mostenitor) 3 (unitati celui de-al doilea), sau
- 6 (unitati primului mostenitor) 1 (unitati celui de-al doilea), sau
- 7 (doar primului mostenitor), sau
- 5 (unitati primului mostenitor) 2 (unitati celui de-al doilea), sau
- 4 (unitati primului mostenitor) 2 (unitati celui de-al doilea) 1 ( unitate celui de-al treilea ).
Vazand ca ii este foarte greu sa verifice daca nu cumva a omis vreo varianta de impartire , Italag le-a scris in ordine lexicografica. Pentru exemplul de mai sus: 4 2 1; 4 3; 5 2; 6 1; 7.
A hotarat ca banii sa fie distribuiti conform celei de a N-a posibilitati din ordinea lexicografica.
Cerinta
Scrieti un program care pentru numerele S, N date sa calculeze si sa afiseze numarul total de posibilitati de impartire a averii, precum si modul in care se face aceasta impartire conform cu a N-a posibilitate din ordinea lexicografica.
Date de Intrare
Fisierul de intrare avere.in contine o singura linie pe care se afla doua numere naturale separate printr-un singur spatiu:
- primul numar S reprezinta suma totala
- cel de-al doilea N reprezinta numarul de ordine al pozitiei cautate
Date de Iesire
Fisierul de iesire avere.out va contine doua linii:
- pe prima linie va fi afisat numarul total de modalitati de impartire a averii
- pe cea de a doua linie va fi afisata a N-a posibilitate de impartire a lui S conform cerintei in ordine lexicografica. Elementele sale vor fi separate prin cate un spatiu.
Restrictii si precizari
- 1 < S < 701
- 0 < N < numarul total de posibilitati cu suma S
- Se acorda punctaj partial pentru fiecare test: 5 puncte pentru determinarea corecta a numarului de posibilitati de impartire a lui S si 5 puncte pentru determinarea corecta a posibilitatii N, din ordinea lexicografica
- Posibilitatile de impartire a averii sunt numerotate incepand cu 1
- Fie x = (x1, x2 ..., xm) si y = (y1, y2 ..., yp) doua siruri. Spunem ca x preceda pe y din punct de vedere lexicografic, daca exista 1 ≤ k, astfel incat xi = yi, pentru orice 1 ≤ i ≤ k-1 si xk < yk.
Exemplu
avere.in | avere.out |
---|---|
7 2 | 5 4 3 |
12 5 | 15 6 5 1 |
700 912345678912345678 | 962056220379782044 175 68 63 58 54 45 40 36 34 32 20 18 17 14 11 9 3 2 1 |