<?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=1157_-_KSort2</id>
	<title>1157 - KSort2 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1157_-_KSort2"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1157_-_KSort2&amp;action=history"/>
	<updated>2026-05-02T07:55:56Z</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=1157_-_KSort2&amp;diff=7962&amp;oldid=prev</id>
		<title>AntalKrisztian: Pagină nouă: == Cerinţa == Se dă un vector cu &#039;&#039;&#039;n&#039;&#039;&#039; elemente, numere naturale și un număr &#039;&#039;&#039;k&#039;&#039;&#039;. Ordonați crescător primele &#039;&#039;&#039;k&#039;&#039;&#039; elemente ale vectorului și descrescător ultimele &#039;&#039;&#039;n-k&#039;&#039;&#039; elemente.Pentru sortare se va folosit metoda &#039;&#039;&#039;QuickSort&#039;&#039;&#039; sau &#039;&#039;&#039;MergeSort&#039;&#039;&#039;. == Date de intrare == Programul citește de la tastatură numerele &#039;&#039;&#039;n&#039;&#039;&#039; și &#039;&#039;&#039;k&#039;&#039;&#039;, iar apoi &#039;&#039;&#039;n&#039;&#039;&#039; numere naturale, reprezentând elementele vectorului. == Date de ieşire == Programul va afișa pe ecra...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1157_-_KSort2&amp;diff=7962&amp;oldid=prev"/>
		<updated>2023-12-12T22:17:17Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinţa == Se dă un vector cu &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; elemente, numere naturale și un număr &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039;. Ordonați crescător primele &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039; elemente ale vectorului și descrescător ultimele &amp;#039;&amp;#039;&amp;#039;n-k&amp;#039;&amp;#039;&amp;#039; elemente.Pentru sortare se va folosit metoda &amp;#039;&amp;#039;&amp;#039;QuickSort&amp;#039;&amp;#039;&amp;#039; sau &amp;#039;&amp;#039;&amp;#039;MergeSort&amp;#039;&amp;#039;&amp;#039;. == Date de intrare == Programul citește de la tastatură numerele &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039;, iar apoi &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; numere naturale, reprezentând elementele vectorului. == Date de ieşire == Programul va afișa pe ecra...&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;
Se dă un vector cu &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; elemente, numere naturale și un număr &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039;. Ordonați crescător primele &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039; elemente ale vectorului și descrescător ultimele &amp;#039;&amp;#039;&amp;#039;n-k&amp;#039;&amp;#039;&amp;#039; elemente.Pentru sortare se va folosit metoda &amp;#039;&amp;#039;&amp;#039;QuickSort&amp;#039;&amp;#039;&amp;#039; sau &amp;#039;&amp;#039;&amp;#039;MergeSort&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numerele &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039;, iar apoi &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; numere naturale, reprezentând elementele vectorului.&lt;br /&gt;
== Date de ieşire ==&lt;br /&gt;
Programul va afișa pe ecran elementele vectorului, separate prin exact un spațiu, după efectuarea operațiilor cerute.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1 &amp;amp;les; k &amp;lt; n &amp;amp;les; 200 000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* cele &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; numere citite vor fi mai mici decât &amp;#039;&amp;#039;&amp;#039;1 000 000 000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 7 3&lt;br /&gt;
 13 1 10 15 3 7 11&lt;br /&gt;
; Ieșire&lt;br /&gt;
 Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
 1 10 13 15 11 7 3&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 fhgjfhgfgj&lt;br /&gt;
; Ieșire&lt;br /&gt;
 Datele introduse nu corespund restricțiilor impuse.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# Definim funcția de verificare a valorilor n, k și a elementelor vectorului&lt;br /&gt;
def verificare(n_val, k_val, vector_verificare):&lt;br /&gt;
    # Verificăm dacă n și k respectă restricțiile problemei&lt;br /&gt;
    if 1 &amp;lt;= k_val &amp;lt; n_val &amp;lt;= 200000:&lt;br /&gt;
        # Verificăm dacă toate elementele vectorului sunt mai mici decât 1 000 000 000&lt;br /&gt;
        if all(x &amp;lt; 1000000000 for x in vector_verificare):&lt;br /&gt;
            # Dacă toate condițiile sunt îndeplinite, returnăm True&lt;br /&gt;
            return True&lt;br /&gt;
    return False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Definim funcția pentru sortarea vectorului&lt;br /&gt;
def sortare_vector(k_val, vector_sortare):&lt;br /&gt;
    # Sortăm primele k elemente în ordine crescătoare&lt;br /&gt;
    vector_sortare[:k_val] = sorted(vector_sortare[:k_val])&lt;br /&gt;
    # Sortăm ultimele elemente în ordine descrescătoare&lt;br /&gt;
    vector_sortare[k_val:] = sorted(vector_sortare[k_val:], reverse=True)&lt;br /&gt;
    # Returnăm vectorul sortat&lt;br /&gt;
    return vector_sortare&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    &lt;br /&gt;
    try:&lt;br /&gt;
        # Citim numărul de elemente din vector&lt;br /&gt;
        n = int(input(&amp;quot;Introduceti numarul de elemente din vector: &amp;quot;))&lt;br /&gt;
        # Citim numărul k&lt;br /&gt;
        k = int(input(&amp;quot;Introduceti numarul k: &amp;quot;))&lt;br /&gt;
        # Citim elementele vectorului&lt;br /&gt;
        vector = list(map(int, input(&amp;quot;Introduceti elementele vectorului: &amp;quot;).split()))&lt;br /&gt;
&lt;br /&gt;
        # Verificăm dacă datele introduse sunt valide&lt;br /&gt;
        if verificare(n, k, vector):&lt;br /&gt;
            # Dacă datele sunt valide, afișăm un mesaj de confirmare&lt;br /&gt;
            print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
            # Sortăm vectorul și afișăm rezultatul&lt;br /&gt;
            print(&amp;#039; &amp;#039;.join(map(str, sortare_vector(k, vector))))&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    # Tratăm cazul în care datele introduse nu sunt numere&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>AntalKrisztian</name></author>
	</entry>
</feed>