<?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=2733_-_nrapp</id>
	<title>2733 - nrapp - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=2733_-_nrapp"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2733_-_nrapp&amp;action=history"/>
	<updated>2026-05-01T07:44:24Z</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=2733_-_nrapp&amp;diff=7521&amp;oldid=prev</id>
		<title>Bonte Lucas Gabriel at 18:13, 29 November 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2733_-_nrapp&amp;diff=7521&amp;oldid=prev"/>
		<updated>2023-11-29T18:13:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;//wiki.universitas.ro/index.php?title=2733_-_nrapp&amp;amp;diff=7521&amp;amp;oldid=7113&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Bonte Lucas Gabriel</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2733_-_nrapp&amp;diff=7113&amp;oldid=prev</id>
		<title>Bonte Lucas Gabriel: Pagină nouă: ==Cerința==  Se dă un număr natural &#039;&#039;&#039;N&#039;&#039;&#039; si un șir &#039;&#039;&#039;v&#039;&#039;&#039; de &#039;&#039;&#039;N&#039;&#039;&#039; numere naturale. Sa se răspundă la &#039;&#039;&#039;Q&#039;&#039;&#039; întrebări de tipul:  &#039;&#039;&#039;D y&#039;&#039;&#039;: Care este cea mai mică poziție &#039;&#039;&#039;x&#039;&#039;&#039;, unde &#039;&#039;&#039;x&#039;&#039;&#039; &gt; &#039;&#039;&#039;y&#039;&#039;&#039;, pentru care &#039;&#039;&#039;v[x] &lt; v[y]&#039;&#039;&#039;? Dacă nu există o astfel de poziție, răspunsul acestei întrebări va fi &#039;&#039;&#039;N + 1&#039;&#039;&#039;. &#039;&#039;&#039;S y&#039;&#039;&#039;: Care este cea mai mare poziție &#039;&#039;&#039;x&#039;&#039;&#039;, unde &#039;&#039;&#039;x&#039;&#039;&#039; &lt; &#039;&#039;&#039;y&#039;&#039;&#039;, pentru care &#039;&#039;&#039;v[x] &lt; v[y]&#039;&#039;&#039;? Dacă nu există o astfel de po...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2733_-_nrapp&amp;diff=7113&amp;oldid=prev"/>
		<updated>2023-10-31T16:23:53Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: ==Cerința==  Se dă un număr natural &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039; si un șir &amp;#039;&amp;#039;&amp;#039;v&amp;#039;&amp;#039;&amp;#039; de &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039; numere naturale. Sa se răspundă la &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; întrebări de tipul:  &amp;#039;&amp;#039;&amp;#039;D y&amp;#039;&amp;#039;&amp;#039;: Care este cea mai mică poziție &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, unde &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039;, pentru care &amp;#039;&amp;#039;&amp;#039;v[x] &amp;lt; v[y]&amp;#039;&amp;#039;&amp;#039;? Dacă nu există o astfel de poziție, răspunsul acestei întrebări va fi &amp;#039;&amp;#039;&amp;#039;N + 1&amp;#039;&amp;#039;&amp;#039;. &amp;#039;&amp;#039;&amp;#039;S y&amp;#039;&amp;#039;&amp;#039;: Care este cea mai mare poziție &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, unde &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; &amp;lt; &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039;, pentru care &amp;#039;&amp;#039;&amp;#039;v[x] &amp;lt; v[y]&amp;#039;&amp;#039;&amp;#039;? Dacă nu există o astfel de po...&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;
&lt;br /&gt;
Se dă un număr natural &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039; si un șir &amp;#039;&amp;#039;&amp;#039;v&amp;#039;&amp;#039;&amp;#039; de &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039; numere naturale. Sa se răspundă la &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; întrebări de tipul:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;D y&amp;#039;&amp;#039;&amp;#039;: Care este cea mai mică poziție &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, unde &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039;, pentru care &amp;#039;&amp;#039;&amp;#039;v[x] &amp;lt; v[y]&amp;#039;&amp;#039;&amp;#039;? Dacă nu există o astfel de poziție, răspunsul acestei întrebări va fi &amp;#039;&amp;#039;&amp;#039;N + 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;S y&amp;#039;&amp;#039;&amp;#039;: Care este cea mai mare poziție &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, unde &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; &amp;lt; &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039;, pentru care &amp;#039;&amp;#039;&amp;#039;v[x] &amp;lt; v[y]&amp;#039;&amp;#039;&amp;#039;? Dacă nu există o astfel de poziție, răspunsul acestei întrebări va fi &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
&lt;br /&gt;
Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;nrapp.in&amp;#039;&amp;#039;&amp;#039; conține pe prima linie numărul natural &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039;, iar pe a doua linie &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039; numere naturale separate prin spații. A treia linie va conține numărul natural nenul &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; și apoi &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; întrebări precum cele descrise anterior.&lt;br /&gt;
&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
&lt;br /&gt;
Fișierul de ieșire &amp;#039;&amp;#039;&amp;#039;nrapp.out&amp;#039;&amp;#039;&amp;#039; va conține &amp;#039;&amp;#039;&amp;#039;Q&amp;#039;&amp;#039;&amp;#039; linii, anume răspunsul pentru fiecare întrebare în parte.&lt;br /&gt;
&lt;br /&gt;
==Restricții și precizări==&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;1 ≤ N ≤ 100.000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;1 ≤ v[i] ≤ 1.000.000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Exemplu:==&lt;br /&gt;
&lt;br /&gt;
;nrapp.in&lt;br /&gt;
&lt;br /&gt;
:8&lt;br /&gt;
:1 3 6 5 2 1 9 6&lt;br /&gt;
:8&lt;br /&gt;
:S 1&lt;br /&gt;
:D 2&lt;br /&gt;
:D 3&lt;br /&gt;
:S 4&lt;br /&gt;
:S 5&lt;br /&gt;
:D 6&lt;br /&gt;
:D 7&lt;br /&gt;
:D 8&lt;br /&gt;
&lt;br /&gt;
;nrapp.out&lt;br /&gt;
&lt;br /&gt;
:0&lt;br /&gt;
:5&lt;br /&gt;
:4&lt;br /&gt;
:2&lt;br /&gt;
:1&lt;br /&gt;
:9&lt;br /&gt;
:8&lt;br /&gt;
:9&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Functia solve care rezolva problema&lt;br /&gt;
def solve(N, v, Q, queries):&lt;br /&gt;
    # Initializam lista de raspunsuri&lt;br /&gt;
    answers = []&lt;br /&gt;
    # Parcurgem fiecare interogare&lt;br /&gt;
    for query in queries:&lt;br /&gt;
        # Daca interogarea este de tip &amp;#039;D&amp;#039;&lt;br /&gt;
        if query[0] == &amp;#039;D&amp;#039;:&lt;br /&gt;
            y = query[1]&lt;br /&gt;
            # Initializam raspunsul cu N + 1&lt;br /&gt;
            answer = N + 1&lt;br /&gt;
            # Cautam cea mai mica pozitie x &amp;gt; y pentru care v[x] &amp;lt; v[y]&lt;br /&gt;
            for x in range(y + 1, N + 1):&lt;br /&gt;
                if v[x - 1] &amp;lt; v[y - 1]:&lt;br /&gt;
                    answer = x&lt;br /&gt;
                    break&lt;br /&gt;
            # Adaugam raspunsul in lista de raspunsuri&lt;br /&gt;
            answers.append(answer)&lt;br /&gt;
        # Daca interogarea este de tip &amp;#039;S&amp;#039;&lt;br /&gt;
        elif query[0] == &amp;#039;S&amp;#039;:&lt;br /&gt;
            y = query[1]&lt;br /&gt;
            # Initializam raspunsul cu 0&lt;br /&gt;
            answer = 0&lt;br /&gt;
            # Cautam cea mai mare pozitie x &amp;lt; y pentru care v[x] &amp;lt; v[y]&lt;br /&gt;
            for x in range(y - 1, 0, -1):&lt;br /&gt;
                if v[x - 1] &amp;lt; v[y - 1]:&lt;br /&gt;
                    answer = x&lt;br /&gt;
                    break&lt;br /&gt;
            # Adaugam raspunsul in lista de raspunsuri&lt;br /&gt;
            answers.append(answer)&lt;br /&gt;
    # Returnam lista de raspunsuri&lt;br /&gt;
    return answers&lt;br /&gt;
&lt;br /&gt;
# Citirea datelor de intrare din fisierul nrapp.in&lt;br /&gt;
with open(&amp;#039;nrapp.in&amp;#039;, &amp;#039;r&amp;#039;) as file:&lt;br /&gt;
    N = int(file.readline())&lt;br /&gt;
    v = list(map(int, file.readline().split()))&lt;br /&gt;
    Q = int(file.readline())&lt;br /&gt;
    queries = []&lt;br /&gt;
    for _ in range(Q):&lt;br /&gt;
        query = file.readline().split()&lt;br /&gt;
        queries.append((query[0], int(query[1])))&lt;br /&gt;
&lt;br /&gt;
# Rezolvarea problemei&lt;br /&gt;
answers = solve(N, v, Q, queries)&lt;br /&gt;
&lt;br /&gt;
# Scrierea raspunsurilor in fisierul nrapp.out&lt;br /&gt;
with open(&amp;#039;nrapp.out&amp;#039;, &amp;#039;w&amp;#039;) as file:&lt;br /&gt;
    for answer in answers:&lt;br /&gt;
        file.write(str(answer) + &amp;#039;\n&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bonte Lucas Gabriel</name></author>
	</entry>
</feed>