<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3468_-_weekend</id>
	<title>3468 - weekend - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3468_-_weekend"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3468_-_weekend&amp;action=history"/>
	<updated>2026-06-17T10:11:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3468_-_weekend&amp;diff=9960&amp;oldid=prev</id>
		<title>RebecaBud: Pagină nouă: == Enunt ==  În acest weekend tocmai s-au pus în vânzare bilete pentru concertul celui mai în vogă artist. Cum acesta este extrem de popular, un număr de n persoane s-au așezat la coadă la casa de bilete. Pentru simplitate, prima persoană așezată la coadă va avea indicele 1, a doua va avea indicele 2 și așa mai departe.  Deoarece statul la coadă este extrem de plictisitor, fiecare om a început să numere câte persoane mai scunde decât el se află în fața s...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3468_-_weekend&amp;diff=9960&amp;oldid=prev"/>
		<updated>2024-06-03T15:20:54Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Enunt ==  În acest weekend tocmai s-au pus în vânzare bilete pentru concertul celui mai în vogă artist. Cum acesta este extrem de popular, un număr de n persoane s-au așezat la coadă la casa de bilete. Pentru simplitate, prima persoană așezată la coadă va avea indicele 1, a doua va avea indicele 2 și așa mai departe.  Deoarece statul la coadă este extrem de plictisitor, fiecare om a început să numere câte persoane mai scunde decât el se află în fața s...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Enunt ==&lt;br /&gt;
&lt;br /&gt;
În acest weekend tocmai s-au pus în vânzare bilete pentru concertul celui mai în vogă artist. Cum acesta este extrem de popular, un număr de n persoane s-au așezat la coadă la casa de bilete. Pentru simplitate, prima persoană așezată la coadă va avea indicele 1, a doua va avea indicele 2 și așa mai departe.&lt;br /&gt;
&lt;br /&gt;
Deoarece statul la coadă este extrem de plictisitor, fiecare om a început să numere câte persoane mai scunde decât el se află în fața sa. Se cunoaște că înălțimile oamenilor sunt reprezentate cu numere naturale nenule.&lt;br /&gt;
&lt;br /&gt;
Din lipsă de imaginație, oamenii care stau la coadă nu au reușit sa ducă jocul până la capăt, așa că o vom face noi. Cunoscând câte persoane mai scunde decât el are în față fiecare om care stă la coadă, se cere să se determine înălțimea fiecărui om din șir.&lt;br /&gt;
&lt;br /&gt;
Dacă există mai multe soluții valide, se cere afișată soluția minim lexicografică. Dacă există două șiruri valide de înălțimi ale celor n persoane A1, A2 ,…, An și B1, B2, …, Bn spunem că șirul A este mai mic lexicografic decât B dacă există un număr natural i mai mic sau egal decât n astfel încât Ai &amp;lt; Bi și Aj = Bj, oricare ar fi j = 1..i-1.&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Fiind dat șirul inițial de observații ale oamenilor care stau la coadă, să se reconstruiască șirul minim lexicografic care poate reprezenta înălțimile acestora.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;weekend.in&amp;#039;&amp;#039;&amp;#039; va avea pe prima linie numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;. Pe linia a doua se va afla un șir de &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; numere naturale despărțite printr-un spațiu, valoarea aflată pe poziția &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; semnificând numărul de persoane strict mai scunde decât persoana &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; și cu indice mai mic decât &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
În fișierul de ieșire &amp;#039;&amp;#039;&amp;#039;weekend.out&amp;#039;&amp;#039;&amp;#039; se va afișa șirul înălțimilor. Pe linia a i-a din fișierul de ieșire se va afla înălțimea persoanei cu indicele i.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* Se garantează că setul de date este corect și va exista mereu cel puțin o soluție.&lt;br /&gt;
* Două sau mai multe persoane NU pot avea aceeași înălțime.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1 ≤ N ≤ 200.000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Pentru 40% din teste, N &amp;lt;= 5.000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; weekend.in&lt;br /&gt;
&lt;br /&gt;
4&lt;br /&gt;
0 1 1 0&lt;br /&gt;
; weekend.out&lt;br /&gt;
&lt;br /&gt;
2&lt;br /&gt;
4&lt;br /&gt;
3&lt;br /&gt;
1&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Observăm că acesta este cel mai mic șir lexicografic care satisface șirul de observații din input. O altă soluție ar fi fost șirul 2 5 3 1, dar acesta este mai mare lexicografic.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
with open(&amp;quot;weekend.in&amp;quot;, &amp;quot;r&amp;quot;) as fin:&lt;br /&gt;
    n = int(fin.readline().strip())&lt;br /&gt;
    observations = list(map(int, fin.readline().split()))&lt;br /&gt;
&lt;br /&gt;
heights = [0] * n&lt;br /&gt;
&lt;br /&gt;
for i in range(n - 1, -1, -1):&lt;br /&gt;
    taller_count = observations[i]&lt;br /&gt;
    height = 1&lt;br /&gt;
    for j in range(taller_count):&lt;br /&gt;
        height = max(heights[i + j + 1] + 1, height)&lt;br /&gt;
    heights[i] = height&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;weekend.out&amp;quot;, &amp;quot;w&amp;quot;) as fout:&lt;br /&gt;
    for height in heights:&lt;br /&gt;
        fout.write(str(height) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>RebecaBud</name></author>
	</entry>
</feed>