<?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=3729_-_Exclusiv</id>
	<title>3729 - Exclusiv - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3729_-_Exclusiv"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3729_-_Exclusiv&amp;action=history"/>
	<updated>2026-05-01T04:39:25Z</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=3729_-_Exclusiv&amp;diff=10001&amp;oldid=prev</id>
		<title>AjM: Pagină nouă: == Enunt == Se consideră doi vectori care conțin numere naturale: s cu M elemente și v cu N elemente. Numim secvență i-exclusivă o secvență a vectorului s care nu conține niciuna dintre valorile v[1], v[2], …, v[i]. == Cerinţa == Scrieți un program care să determine, pentru orice 1 ≤ i ≤ N, lungimea maximă a unei secvențe i-exclusive. == Date de intrare == Fișierul de intrare exclusiv.in conține pe prima linie numerele naturale M și N. Pe linia a doua s...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3729_-_Exclusiv&amp;diff=10001&amp;oldid=prev"/>
		<updated>2024-06-03T16:31:19Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Enunt == Se consideră doi vectori care conțin numere naturale: s cu M elemente și v cu N elemente. Numim secvență i-exclusivă o secvență a vectorului s care nu conține niciuna dintre valorile v[1], v[2], …, v[i]. == Cerinţa == Scrieți un program care să determine, pentru orice 1 ≤ i ≤ N, lungimea maximă a unei secvențe i-exclusive. == Date de intrare == Fișierul de intrare exclusiv.in conține pe prima linie numerele naturale M și N. Pe linia a doua 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;
Se consideră doi vectori care conțin numere naturale: s cu M elemente și v cu N elemente. Numim secvență i-exclusivă o secvență a vectorului s care nu conține niciuna dintre valorile v[1], v[2], …, v[i].&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Scrieți un program care să determine, pentru orice 1 ≤ i ≤ N, lungimea maximă a unei secvențe i-exclusive.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare exclusiv.in conține pe prima linie numerele naturale M și N. Pe linia a doua se află M numere naturale reprezentând elementele vectorului s, iar pe linia a treia N numere naturale reprezentând elementele vectorului v. Valorile scrise pe aceeași linie sunt separate prin câte un spațiu.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire exclusiv.out va conține N linii. Pe linia i (1 ≤ i ≤ N) va fi scris un număr natural care reprezintă lungimea maximă a unei secvențe i-exclusive.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* 1 ≤ N ≤ 2.000&lt;br /&gt;
* 3 ≤ M ≤ 100.000&lt;br /&gt;
* Vectorii s și v conțin numere naturale mai mici sau egale cu 2.000.000.000, memorate începând cu poziția 1&lt;br /&gt;
* Valorile din fiecare vector nu sunt obligatoriu distincte două câte două.&lt;br /&gt;
* O subsecvență nevidă în s este formată din elemente situate pe poziții consecutive (s[i], s[i + 1], …, s[j]), i ≤ j. O subsecvență i-exclusivă poate fi și vidă, lungimea ei fiind 0.&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; exclusiv.in&lt;br /&gt;
 20 6&lt;br /&gt;
 11 5 11 7 2 10 11 9 2 77 88 88 88 2 7 2 2 77 2 11 &lt;br /&gt;
 11 5 7 9 5 2&lt;br /&gt;
; exclusiv.out&lt;br /&gt;
 12&lt;br /&gt;
 12&lt;br /&gt;
 7&lt;br /&gt;
 6&lt;br /&gt;
 6&lt;br /&gt;
 4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Cea mai lungă secvență 1-exclusivă (care nu conține valoarea 11) este 9 2 77 88 88 88 2 7 2 2 77 2 și are lungimea 12.&lt;br /&gt;
Cea mai lungă secvență 2-exclusivă (care nu conține valorile 11 și 5) este 9 2 77 88 88 88 2 7 2 2 77 2 și are lungimea 12.&lt;br /&gt;
Cea mai lungă secvență 3-exclusivă (care nu conține valorile 11, 5 și 7) este 9 2 77 88 88 88 2 și are lungimea 7.&lt;br /&gt;
Cea mai lungă secvență 4-exclusivă (care nu conține valorile 11, 5, 7 și 9) este 2 77 88 88 88 2 și are&lt;br /&gt;
lungimea 6.&lt;br /&gt;
Cea mai lungă secvență 5-exclusivă (care nu conține valorile 11, 5 7, 9 și 5) este 2 77 88 88 88 2 și are lungimea 6.&lt;br /&gt;
Cea mai lungă secvență 6-exclusivă (care nu conține valorile 11, 5, 7, 9, 5 și 2) este 77 88 88 88 și are lungimea 4.&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def longest_exclusive_sequence(s, v):&lt;br /&gt;
    last_position = {value: -1 for value in v}&lt;br /&gt;
    longest_sequence = 0&lt;br /&gt;
    current_sequence = 0&lt;br /&gt;
&lt;br /&gt;
    for value in s:&lt;br /&gt;
        if value in last_position:&lt;br /&gt;
            current_sequence = min(current_sequence + 1, 1 + last_position[value])&lt;br /&gt;
        else:&lt;br /&gt;
            current_sequence += 1&lt;br /&gt;
        last_position[value] = current_sequence&lt;br /&gt;
        longest_sequence = max(longest_sequence, current_sequence)&lt;br /&gt;
&lt;br /&gt;
    return longest_sequence&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    M, N = map(int, input().split())&lt;br /&gt;
    s = list(map(int, input().split()))&lt;br /&gt;
    v = list(map(int, input().split()))&lt;br /&gt;
&lt;br /&gt;
    result = []&lt;br /&gt;
    for i in range(N):&lt;br /&gt;
        result.append(longest_exclusive_sequence(s, v[:i+1]))&lt;br /&gt;
&lt;br /&gt;
    for length in result:&lt;br /&gt;
        print(length)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>AjM</name></author>
	</entry>
</feed>