<?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=1594_-_Maraton</id>
	<title>1594 - Maraton - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1594_-_Maraton"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1594_-_Maraton&amp;action=history"/>
	<updated>2026-05-01T06:48:55Z</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=1594_-_Maraton&amp;diff=7940&amp;oldid=prev</id>
		<title>Zmicala Narcis: Pagină nouă: == Cerința == Ajutați-l pe Costy să răspundă la cele &#039;&#039;&#039;Q&#039;&#039;&#039; întrebări. == Date de intrare == Fișierul &#039;&#039;&#039;maratonin.txt&#039;&#039;&#039; conține: * pe prima linie numărul &#039;&#039;&#039;N&#039;&#039;&#039;, reprezentând numărul de maratoniști; * pe următoarele &#039;&#039;&#039;N&#039;&#039;&#039; linii, câte &#039;&#039;&#039;2&#039;&#039;&#039; numere, &#039;&#039;&#039;Xi Yi&#039;&#039;&#039;, reprezentând distanța fată de linia de sosire și viteza fiecărui maratonist; * pe următoarea linie, numărul &#039;&#039;&#039;Q&#039;&#039;&#039; reprezentând numărul de întrebări; * pe următoarele &#039;&#039;&#039;Q&#039;&#039;&#039; linii se...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1594_-_Maraton&amp;diff=7940&amp;oldid=prev"/>
		<updated>2023-12-12T19:17:01Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerința == Ajutați-l pe Costy să răspundă la cele &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; întrebări. == Date de intrare == Fișierul &amp;#039;&amp;#039;&amp;#039;maratonin.txt&amp;#039;&amp;#039;&amp;#039; conține: * pe prima linie numărul &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039;, reprezentând numărul de maratoniști; * pe următoarele &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039; linii, câte &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; numere, &amp;#039;&amp;#039;&amp;#039;Xi Yi&amp;#039;&amp;#039;&amp;#039;, reprezentând distanța fată de linia de sosire și viteza fiecărui maratonist; * pe următoarea linie, numărul &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; reprezentând numărul de întrebări; * pe următoarele &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; linii se...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Cerința ==&lt;br /&gt;
Ajutați-l pe Costy să răspundă la cele &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; întrebări.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul &amp;#039;&amp;#039;&amp;#039;maratonin.txt&amp;#039;&amp;#039;&amp;#039; conține:&lt;br /&gt;
* pe prima linie numărul &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039;, reprezentând numărul de maratoniști;&lt;br /&gt;
* pe următoarele &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039; linii, câte &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; numere, &amp;#039;&amp;#039;&amp;#039;Xi Yi&amp;#039;&amp;#039;&amp;#039;, reprezentând distanța fată de linia de sosire și viteza fiecărui maratonist;&lt;br /&gt;
* pe următoarea linie, numărul &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; reprezentând numărul de întrebări;&lt;br /&gt;
* pe următoarele &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; linii se află câte un număr &amp;#039;&amp;#039;&amp;#039;Qi&amp;#039;&amp;#039;&amp;#039; reprezentând întrebarea &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire &amp;#039;&amp;#039;&amp;#039;maratonout.txt&amp;#039;&amp;#039;&amp;#039; conţine:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; linii, linia &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; reprezentând răspunsul la întrebarea &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1 &amp;lt;= N, Q, Qi, Xi &amp;lt;= 100 000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1 &amp;lt;= Yi &amp;lt;= 1000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; maratonin.txt&lt;br /&gt;
: 5&lt;br /&gt;
: 100 4&lt;br /&gt;
: 12 3&lt;br /&gt;
: 101 5 &lt;br /&gt;
: 20 1&lt;br /&gt;
: 44 7&lt;br /&gt;
: 4&lt;br /&gt;
: 20&lt;br /&gt;
: 12&lt;br /&gt;
: 7&lt;br /&gt;
: 21&lt;br /&gt;
; maratonout.txt&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 3&lt;br /&gt;
: 2&lt;br /&gt;
: 2&lt;br /&gt;
: 4&lt;br /&gt;
== Explicație ==&lt;br /&gt;
* La secunda &amp;#039;&amp;#039;&amp;#039;20&amp;#039;&amp;#039;&amp;#039; au trecut linia de sosire maratoniștii cu indicii &amp;#039;&amp;#039;&amp;#039;2, 4, 5&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* La secunda &amp;#039;&amp;#039;&amp;#039;12&amp;#039;&amp;#039;&amp;#039; au trecut linia de sosire maratoniștii cu indicii &amp;#039;&amp;#039;&amp;#039;2, 5&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* La secunda &amp;#039;&amp;#039;&amp;#039;7&amp;#039;&amp;#039;&amp;#039; au trecut linia de sosire maratoniștii cu indicii &amp;#039;&amp;#039;&amp;#039;2, 5&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* La secunda &amp;#039;&amp;#039;&amp;#039;21&amp;#039;&amp;#039;&amp;#039; au trecut linia de sosire maratoniștii cu indicii &amp;#039;&amp;#039;&amp;#039;2, 3, 4, 5&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; maratonin.txt&lt;br /&gt;
: 6&lt;br /&gt;
: 100 4&lt;br /&gt;
: 12 3&lt;br /&gt;
: 101 5&lt;br /&gt;
: 20 1&lt;br /&gt;
: 44 7&lt;br /&gt;
: 200000 2&lt;br /&gt;
: 4&lt;br /&gt;
: 20&lt;br /&gt;
: 12&lt;br /&gt;
: 7&lt;br /&gt;
: 21&lt;br /&gt;
; maratonout.txt&lt;br /&gt;
: Datele introduse nu corespund restricțiilor impuse.&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# 1594 - Maraton&lt;br /&gt;
def validare(n_maratonisti, lista_maratonisti, n_intrebari, lista_intrebari):  # functia de validare&lt;br /&gt;
    if n_maratonisti &amp;gt; 100000 or n_intrebari &amp;gt; 100000:&lt;br /&gt;
        raise ValueError&lt;br /&gt;
&lt;br /&gt;
    for distanta, viteza in lista_maratonisti:&lt;br /&gt;
        if distanta &amp;gt; 100000 or viteza &amp;gt; 1000:&lt;br /&gt;
            raise ValueError&lt;br /&gt;
&lt;br /&gt;
    for intrebare in lista_intrebari:&lt;br /&gt;
        if intrebare &amp;gt; 100000:&lt;br /&gt;
            raise ValueError&lt;br /&gt;
&lt;br /&gt;
    file_out.write(&amp;quot;Datele de intrare corespund restrictiilor impuse\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def maraton(lista_maratonisti, lista_intrebari):  # functia de rezolvare&lt;br /&gt;
    rezultate_maraton = []&lt;br /&gt;
    for intrebare in lista_intrebari:&lt;br /&gt;
        nr_maratonisti_sositi = 0&lt;br /&gt;
        for distanta, viteza in lista_maratonisti:&lt;br /&gt;
            if distanta / viteza &amp;lt;= intrebare:&lt;br /&gt;
                nr_maratonisti_sositi += 1&lt;br /&gt;
        rezultate_maraton.append(nr_maratonisti_sositi)&lt;br /&gt;
    return rezultate_maraton&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    file_in = open(&amp;quot;maratonin.txt&amp;quot;, &amp;quot;r&amp;quot;)  # declararea fisierelor&lt;br /&gt;
    file_out = open(&amp;quot;maratonout.txt&amp;quot;, &amp;quot;w&amp;quot;)  # fisierul out trebuie declarat cu optiunea &amp;quot;w&amp;quot; (write)&lt;br /&gt;
&lt;br /&gt;
    try:&lt;br /&gt;
        nr_maratonisti = int(file_in.readline())&lt;br /&gt;
        maratonisti = []&lt;br /&gt;
        for _ in range(nr_maratonisti):&lt;br /&gt;
            x, y = map(int, file_in.readline().split())&lt;br /&gt;
            maratonisti.append((x, y))&lt;br /&gt;
&lt;br /&gt;
        nr_intrebari = int(file_in.readline())&lt;br /&gt;
        intrebari = [int(file_in.readline()) for _ in range(nr_intrebari)]&lt;br /&gt;
&lt;br /&gt;
        validare(nr_maratonisti, maratonisti, nr_intrebari, intrebari)  # apelul functiei de validare&lt;br /&gt;
        rezultate = maraton(maratonisti, intrebari)  # apelul functiei de rezolvare&lt;br /&gt;
&lt;br /&gt;
        for rezultat in rezultate:&lt;br /&gt;
            file_out.write(str(rezultat) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        file_out.write(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
    except IndexError:&lt;br /&gt;
        file_out.write(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zmicala Narcis</name></author>
	</entry>
</feed>