<?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=4298_-_Lacom</id>
	<title>4298 - Lacom - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=4298_-_Lacom"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4298_-_Lacom&amp;action=history"/>
	<updated>2026-05-01T16:02:01Z</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=4298_-_Lacom&amp;diff=394&amp;oldid=prev</id>
		<title>Bogdan.Pop: Pagină nouă: == Context == Victor și tatăl său au mers la magazinul de bomboane pentru ca tatăl să își onoreze o mai veche promisiune. Magazinul are bomboanele aranjate pe un rând, în mai multe cutii așezate una lângă alta. Se cunoaște numărul de bomboane din fiecare cutie, în ordinea în care sunt așezate cutiile începând de la intrare. Tatăl i-a fixat lui Victor următoarea regulă de colectare a bomboanelor: * Parcurge cutiile începând de la intrare. * Colectează...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4298_-_Lacom&amp;diff=394&amp;oldid=prev"/>
		<updated>2023-01-14T13:56:45Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Context == Victor și tatăl său au mers la magazinul de bomboane pentru ca tatăl să își onoreze o mai veche promisiune. Magazinul are bomboanele aranjate pe un rând, în mai multe cutii așezate una lângă alta. Se cunoaște numărul de bomboane din fiecare cutie, în ordinea în care sunt așezate cutiile începând de la intrare. Tatăl i-a fixat lui Victor următoarea regulă de colectare a bomboanelor: * Parcurge cutiile începând de la intrare. * Colectează...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Context ==&lt;br /&gt;
Victor și tatăl său au mers la magazinul de bomboane pentru ca tatăl să își onoreze o mai veche promisiune. Magazinul are bomboanele aranjate pe un rând, în mai multe cutii așezate una lângă alta. Se cunoaște numărul de bomboane din fiecare cutie, în ordinea în care sunt așezate cutiile începând de la intrare.&lt;br /&gt;
Tatăl i-a fixat lui Victor următoarea regulă de colectare a bomboanelor:&lt;br /&gt;
* Parcurge cutiile începând de la intrare.&lt;br /&gt;
* Colectează toate bomboanele din prima cutie.&lt;br /&gt;
* Când ajunge la o cutie de pe rând, colectează toate bomboanele de acolo doar dacă numărul lor este strict mai mare decât numărul de bomboane din ultima cutie din care a colectat.&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Determinați câte bomboane a colectat Victor.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Din fișierul &amp;lt;u&amp;gt;&amp;#039;&amp;#039;lacom.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; se citește mai întâi numărul de cutii, &amp;#039;&amp;#039;&amp;#039;număr_cutii&amp;#039;&amp;#039;&amp;#039; și apoi numărul de bomboane din fiecare cutie, în vectorul &amp;#039;&amp;#039;&amp;#039;continut_cutii&amp;#039;&amp;#039;&amp;#039;, în ordinea întâlnirii cutiilor pornind de la intrare.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Pe ecran se va afișa mesajul: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot;, iar în fișierul &amp;lt;u&amp;gt;&amp;#039;&amp;#039;lacom.out&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; se scrie numărul determinat. În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, programul va afișa &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* numar_cutii &amp;amp;isin; &amp;amp;#8469;&lt;br /&gt;
* 1 &amp;amp;les; numar_cutii &amp;amp;les; 100&lt;br /&gt;
* &amp;#039;&amp;#039;element continut_cutii&amp;#039;&amp;#039; &amp;amp;isin; &amp;amp;#8469;&lt;br /&gt;
* 1 &amp;amp;les; &amp;#039;&amp;#039;element continut_cutii&amp;#039;&amp;#039; &amp;amp;lt; 1.000.000.000&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; Intrare (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;lacom.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: 7&lt;br /&gt;
: 5&lt;br /&gt;
: 3&lt;br /&gt;
: 9&lt;br /&gt;
: 7&lt;br /&gt;
: 8&lt;br /&gt;
: 10&lt;br /&gt;
: 1&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;Ecran&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;lacom.out&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: 24&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; Intrare (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;lacom.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: 3&lt;br /&gt;
: 5&lt;br /&gt;
: abc&lt;br /&gt;
: 63.5&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;Ecran&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: Datele introduse nu corespund restricțiilor impuse.&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;lacom.out&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; Intrare (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;lacom.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: 0&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;Ecran&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: Datele introduse nu corespund restricțiilor impuse.&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;lacom.out&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# 4298 - Lacom&lt;br /&gt;
&lt;br /&gt;
def validare_date_numar_cutii(numar):&lt;br /&gt;
    if numar.isdigit():&lt;br /&gt;
        if 1 &amp;lt;= int(numar) &amp;lt;= 100:&lt;br /&gt;
            return True&lt;br /&gt;
        else:&lt;br /&gt;
            return False&lt;br /&gt;
    else:&lt;br /&gt;
        return False&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
def validare_date_continut_cutii(vector):&lt;br /&gt;
    return all(isinstance(element, (int)) and element &amp;gt;= 0 for element in vector)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def lacom(numar_cutii, continut_cutii):&lt;br /&gt;
    maxim_curent = continut_cutii[0]&lt;br /&gt;
    raspuns = maxim_curent&lt;br /&gt;
    &lt;br /&gt;
    for element in continut_cutii[1:]:&lt;br /&gt;
        if element &amp;gt; maxim_curent:&lt;br /&gt;
            maxim_curent = element&lt;br /&gt;
            raspuns += maxim_curent&lt;br /&gt;
            &lt;br /&gt;
    fisier_iesire.write(str(raspuns))&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    fisier_intrare = open(&amp;quot;lacom.in&amp;quot;, &amp;quot;r&amp;quot;)&lt;br /&gt;
    fisier_iesire = open(&amp;quot;lacom.out&amp;quot;, &amp;quot;w&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    linie1 = fisier_intrare.readline()&lt;br /&gt;
    numar_cutii = linie1[0]&lt;br /&gt;
    &lt;br /&gt;
    continut_cutii = []&lt;br /&gt;
    linie2 = fisier_intrare.readline().strip().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    continut_cutii.extend([int(element) for element in linie2])&lt;br /&gt;
    &lt;br /&gt;
    if validare_date_numar_cutii and validare_date_continut_cutii(continut_cutii):&lt;br /&gt;
        numar_cutii = int(numar_cutii)&lt;br /&gt;
        print(numar_cutii, continut_cutii)&lt;br /&gt;
        print(&amp;#039;Datele de intrare corespund restricțiilor impuse.&amp;#039;)&lt;br /&gt;
        lacom(numar_cutii, continut_cutii)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bogdan.Pop</name></author>
	</entry>
</feed>