<?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=3134_-_INF</id>
	<title>3134 - INF - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3134_-_INF"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3134_-_INF&amp;action=history"/>
	<updated>2026-05-01T10:13:38Z</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=3134_-_INF&amp;diff=9705&amp;oldid=prev</id>
		<title>Aurelia Raluca at 21:17, 22 March 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3134_-_INF&amp;diff=9705&amp;oldid=prev"/>
		<updated>2024-03-22T21:17:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;//wiki.universitas.ro/index.php?title=3134_-_INF&amp;amp;diff=9705&amp;amp;oldid=9067&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Aurelia Raluca</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3134_-_INF&amp;diff=9067&amp;oldid=prev</id>
		<title>Aurelia Raluca: Pagină nouă: == Cerinta ==  Se consideră șirul infinit inf=&quot;INFINFINFINF...&quot;.  Se dau două numere naturale n și k și un șir de caractere s de lungime n format doar din caracterele &#039;I&#039; , &#039;N&#039; și &#039;F&#039;.  Să se afle numărul minim de modificări ce trebuie realizate în șirul s pentru a obține o subsecvență de lungime k a șirului infinit inf.  O modificare constă în schimbarea unui caracter din șirul s cu un alt caracter din mulțimea {&#039;I&#039;,&#039;N&#039;,&#039;F&#039;}.  De exemplu, în urma unei mo...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3134_-_INF&amp;diff=9067&amp;oldid=prev"/>
		<updated>2024-01-05T09:40:34Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinta ==  Se consideră șirul infinit inf=&amp;quot;INFINFINFINF...&amp;quot;.  Se dau două numere naturale n și k și un șir de caractere s de lungime n format doar din caracterele &amp;#039;I&amp;#039; , &amp;#039;N&amp;#039; și &amp;#039;F&amp;#039;.  Să se afle numărul minim de modificări ce trebuie realizate în șirul s pentru a obține o subsecvență de lungime k a șirului infinit inf.  O modificare constă în schimbarea unui caracter din șirul s cu un alt caracter din mulțimea {&amp;#039;I&amp;#039;,&amp;#039;N&amp;#039;,&amp;#039;F&amp;#039;}.  De exemplu, în urma unei mo...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Cerinta ==&lt;br /&gt;
&lt;br /&gt;
Se consideră șirul infinit inf=&amp;quot;INFINFINFINF...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Se dau două numere naturale n și k și un șir de caractere s de lungime n format doar din caracterele &amp;#039;I&amp;#039; , &amp;#039;N&amp;#039; și &amp;#039;F&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Să se afle numărul minim de modificări ce trebuie realizate în șirul s pentru a obține o subsecvență de lungime k a șirului infinit inf.&lt;br /&gt;
&lt;br /&gt;
O modificare constă în schimbarea unui caracter din șirul s cu un alt caracter din mulțimea {&amp;#039;I&amp;#039;,&amp;#039;N&amp;#039;,&amp;#039;F&amp;#039;}.&lt;br /&gt;
&lt;br /&gt;
De exemplu, în urma unei modificări a ultimului caracter, șirul &amp;quot;IIIFN&amp;quot; devine &amp;quot;IIIFF&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare == &lt;br /&gt;
&lt;br /&gt;
Fișierul de intrare inf.in conține pe prima linie numerele n și k, iar pe a doua linie șirul s format din n caractere.&lt;br /&gt;
&lt;br /&gt;
== Date de iesire ==&lt;br /&gt;
&lt;br /&gt;
Fișierul de ieșire inf.out va conține pe prima linie numărul de modificări necesare.&lt;br /&gt;
&lt;br /&gt;
== Restrictii si precizari ==&lt;br /&gt;
&lt;br /&gt;
*2 ≤ n ≤ 1.500.000&lt;br /&gt;
*1 ≤ k ≤ 500.000&lt;br /&gt;
*k ≤ n&lt;br /&gt;
*Rezultatul poate fi 0&lt;br /&gt;
*O subsecvență de lungime k a șirului s reprezintă un șir format din k elemente de pe poziții consecutive din șirul s.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
;infin.txt&lt;br /&gt;
&lt;br /&gt;
:5 2&lt;br /&gt;
&lt;br /&gt;
:FNNNN&lt;br /&gt;
&lt;br /&gt;
;infout.txt&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restrictiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:1&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
&lt;br /&gt;
;infin.txt&lt;br /&gt;
&lt;br /&gt;
:10 12&lt;br /&gt;
&lt;br /&gt;
:FFNNI&lt;br /&gt;
&lt;br /&gt;
;infout.txt&lt;br /&gt;
&lt;br /&gt;
:Datele de intrare nu corespund restrictiilor impuse.&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
def numar_minim_modificari(s, k):&lt;br /&gt;
    n = len(s)&lt;br /&gt;
&lt;br /&gt;
    # Calculăm numărul necesar de caractere &amp;#039;I&amp;#039;, &amp;#039;N&amp;#039;, &amp;#039;F&amp;#039; pentru subsecvența dorită&lt;br /&gt;
    numar_i = k&lt;br /&gt;
    numar_n = k - 1&lt;br /&gt;
    numar_f = k&lt;br /&gt;
&lt;br /&gt;
    # Numărăm caracterele existente în șirul dat&lt;br /&gt;
    numar_i_s = s.count(&amp;#039;I&amp;#039;)&lt;br /&gt;
    numar_n_s = s.count(&amp;#039;N&amp;#039;)&lt;br /&gt;
    numar_f_s = s.count(&amp;#039;F&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    # Calculăm numărul minim de modificări&lt;br /&gt;
    modificari_necesare = max(0, numar_i - numar_i_s) + max(0, numar_n - numar_n_s) + max(0, numar_f - numar_f_s)&lt;br /&gt;
&lt;br /&gt;
    return modificari_necesare&lt;br /&gt;
&lt;br /&gt;
rezultat = numar_minim_modificari(sir, lungime_subsecventa)&lt;br /&gt;
print(f&amp;quot;Numărul minim de modificări necesare: {rezultat}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aurelia Raluca</name></author>
	</entry>
</feed>