Una dintre atracţiile celebrului parc de distracţii Prater din Viena este Marea Roată Vieneză. Din ea se poate admira priveliştea întregii Viene.
Roata are cabine, numerotate de la la în sens orar şi dispuse simetric pe circumferinţa roţii. Îmbarcarea clienţilor se face în cabina în care roata este tangentă cu solul, iar rotirea începe cu cabina aflată în poziţia de îmbarcare şi se face în sens antiorar. Un client plăteşte pentru o rotire EUR şi poate cumpăra un număr oarecare de rotiri.
Cei clienţi care doresc utilizarea roţii trebuie să respecte următoarea procedură: clientul cu numărul de ordine îşi cumpără un bilet pe care sunt înscrise numărul său de ordine şi numărul de rotiri , apoi se aşează la rând. Când în poziţia de îmbarcare este o cabină liberă sau se eliberează o cabină, roata se opreşte şi urcă următorul clientul. Un client coboară după ce se efectuează numărul de rotiri înscris pe bilet.
Cerință
Să se scrie un program care, cunoscând numărul de cabine al roţii, numărul de clienţi, precum şi numărul de rotiri cumpărate de fiecare client, , să calculeze:
- suma totală încasată de administratorul roţii de la clienţi;
- ordinea în care coboară clienţii din roată;
- numărul cabinei din care coboară ultimul client.
Date de intrare
Fişierul de intrare roata.in
conţine pe primul rând numărul natural , pe al doilea rând numărul natural iar pe al treilea rând numerele naturale , separate printr-un spaţiu, cu semnificaţiile de mai sus.
Date de ieșire
Fişierul de ieşire roata.out
va conţine pe prima linie suma totală încasată, pe a doua linie numerele de ordine ale clienţilor, în ordinea coborârii, separate printr-un spaţiu, iar pe a treia linie numărul cabinei din care va coborî ultimul client.
Restricții și precizări
- ;
- ;
- ;
- pentru rezolvarea primei cerinţe se acordă din punctaj, iar pentru celelalte două cerinţe se acordă câte din punctaj fiecare.
Exemplu
roata.in
4
7
6 4 1 5 2 8 3
roata.out
29
3 5 2 4 1 7 6
3
Explicație
Roata are cabine şi numărul de clienţi este . Primul client cumpără rotiri, al doilea rotiri , , iar al şaptelea client cumpără rotiri. Suma totală încasată este de EUR. După ce primii clienţi se urcă în roată şi se efectuează o rotire completă, primul care coboară este clientul al -lea şi imediat se urcă clientul al -lea. După încă rotiri, clientul al -lea coboară şi se urcă clientul al -lea. După încă o rotire coboară clientul al -lea şi se urcă al -lea client. Ultimii clienţi coboară în ordinea . Cabina din care coboară ultimul client este cabina cu numărul .