0512 - Sort Max: Difference between revisions
Adina Timiș (talk | contribs) Pagină nouă: ==Cerința== Se dă un vector cu n elemente, numere naturale distincte. Ordonați crescător elementele situate înaintea valorii maxime din vector și descrescător elementele situate după această valoare. ==Date de intrare== Programul citește de la tastatură numerele n, iar apoi n numere naturale, reprezentând elementele vectorului. ==Date de ieșire== Programul va afișa pe ecran elementele vectorului, separate prin exact un spațiu, după efectuarea operațiilor cer... |
Adina Timiș (talk | contribs) No edit summary |
||
Line 23: | Line 23: | ||
:Datele de intrare nu corespund restricțiilor impuse. | :Datele de intrare nu corespund restricțiilor impuse. | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line=""> | <syntaxhighlight lang="python" line="1"> | ||
#0512 - Sort Max | #0512 - Sort Max | ||
# definim o funcție pentru sortare | # definim o funcție pentru sortare | ||
Line 36: | Line 36: | ||
return a | return a | ||
# citim valorile de intrare | if __name__ == "__main__": | ||
n = int(input()) | # citim valorile de intrare | ||
a = list(map(int, input().split()) | n = int(input()) | ||
a = list(map(int, input().split())) | |||
# verificăm restricțiile | |||
if n >= 2 and n <= 1000 and max(a) < 1000000000: | |||
# dacă valorile de intrare respectă restricțiile impuse, sortăm vectorul și îl afișăm | |||
print("Datele de intrare corespund restricțiilor impuse.") | |||
a = sort_vector(n, a) | |||
print(*a) | |||
else: | |||
print("Datele de intrare nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 08:39, 29 April 2023
Cerința[edit | edit source]
Se dă un vector cu n elemente, numere naturale distincte. Ordonați crescător elementele situate înaintea valorii maxime din vector și descrescător elementele situate după această valoare.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele n, iar apoi n numere naturale, reprezentând elementele vectorului.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran elementele vectorului, separate prin exact un spațiu, după efectuarea operațiilor cerute.
Restricții și precizări[edit | edit source]
- 1 ≤ n ≤ 1000;
- cele n numere citite vor fi mai mici decât 1.000.000.000;
Exemplul 1[edit | edit source]
- Intrare
- 7
- 13 1 10 15 3 7 11
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 1 10 13 15 11 7 3
Exemplul 2[edit | edit source]
- Intrare
- 0
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- 0512 - Sort Max
- definim o funcție pentru sortare
def sort_vector(n, a):
# găsim valoarea maximă și indexul acesteia în vector max_val = max(a) max_index = a.index(max_val) # sortăm valorile de dinainte și de după valoarea maximă a[:max_index] = sorted(a[:max_index]) a[max_index:] = sorted(a[max_index:], reverse=True) # returnăm elementele vectorului, sortate return a
if __name__ == "__main__":
# citim valorile de intrare n = int(input()) a = list(map(int, input().split()))
# verificăm restricțiile if n >= 2 and n <= 1000 and max(a) < 1000000000: # dacă valorile de intrare respectă restricțiile impuse, sortăm vectorul și îl afișăm print("Datele de intrare corespund restricțiilor impuse.") a = sort_vector(n, a) print(*a) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>