<?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=1896_-_K_Sir</id>
	<title>1896 - K Sir - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1896_-_K_Sir"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1896_-_K_Sir&amp;action=history"/>
	<updated>2026-06-17T10:37:17Z</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=1896_-_K_Sir&amp;diff=10030&amp;oldid=prev</id>
		<title>RebecaBud: Pagină nouă:  == Cerinţa == Fie S un șir de caractere cu litere mici și litere mari. Se sortează în ordine lexicografică toate subsecvențele distincte ale lui S. Se dă un număr K și un vector k cu K numere întregi, se cere pentru fiecare număr cel de ki -lea subșir lexicografic. == Date de intrare == Fișierul de intrare ksir.in conține pe prima linie un șir S, pe a doua linie un număr K, iar pe următoarea linie K numere naturale separate prin spații. == Date de ieșire...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1896_-_K_Sir&amp;diff=10030&amp;oldid=prev"/>
		<updated>2024-06-03T17:10:31Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă:  == Cerinţa == Fie S un șir de caractere cu litere mici și litere mari. Se sortează în ordine lexicografică toate subsecvențele distincte ale lui S. Se dă un număr K și un vector k cu K numere întregi, se cere pentru fiecare număr cel de ki -lea subșir lexicografic. == Date de intrare == Fișierul de intrare ksir.in conține pe prima linie un șir S, pe a doua linie un număr K, iar pe următoarea linie K numere naturale separate prin spații. == Date de ieșire...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Fie S un șir de caractere cu litere mici și litere mari. Se sortează în ordine lexicografică toate subsecvențele distincte ale lui S. Se dă un număr K și un vector k cu K numere întregi, se cere pentru fiecare număr cel de ki -lea subșir lexicografic.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare ksir.in conține pe prima linie un șir S, pe a doua linie un număr K, iar pe următoarea linie K numere naturale separate prin spații.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire ksir.out va conține cele K șiruri de caractere, câte unul pe fiecare linie.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* |S| ≤ 200000&lt;br /&gt;
* suma |ki | ≤ 200000&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; ksir.in&lt;br /&gt;
&lt;br /&gt;
  FORR&lt;br /&gt;
  6&lt;br /&gt;
  1 1 2 3 4 5&lt;br /&gt;
; ksir.out&lt;br /&gt;
&lt;br /&gt;
  F&lt;br /&gt;
  F&lt;br /&gt;
  FO&lt;br /&gt;
  FOR&lt;br /&gt;
  FORR&lt;br /&gt;
  O&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Subsecvențele pentru FORR sunt {&amp;#039;F&amp;#039;, &amp;#039;FO&amp;#039;, &amp;#039;FOR&amp;#039;, &amp;#039;FORR&amp;#039;, &amp;#039;O&amp;#039;, &amp;#039;OR&amp;#039;, &amp;#039;ORR&amp;#039;, &amp;#039;R&amp;#039;, &amp;#039;RR&amp;#039;}.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def generate_subsequences(s):&lt;br /&gt;
    subsequences = set()&lt;br /&gt;
    n = len(s)&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        for j in range(i+1, n+1):&lt;br /&gt;
            subsequences.add(s[i:j])&lt;br /&gt;
    return sorted(subsequences)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    with open(&amp;quot;ksir.in&amp;quot;, &amp;quot;r&amp;quot;) as fin:&lt;br /&gt;
        s = fin.readline().strip()&lt;br /&gt;
        K = int(fin.readline().strip())&lt;br /&gt;
        k_values = list(map(int, fin.readline().split()))&lt;br /&gt;
&lt;br /&gt;
    subsequences = generate_subsequences(s)&lt;br /&gt;
&lt;br /&gt;
    with open(&amp;quot;ksir.out&amp;quot;, &amp;quot;w&amp;quot;) as fout:&lt;br /&gt;
        for k in k_values:&lt;br /&gt;
            fout.write(subsequences[k - 1] + &amp;quot;\n&amp;quot;)&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>RebecaBud</name></author>
	</entry>
</feed>