Pagini recente »
Diferențe pentru problema/culegere între reviziile 8 și 9
|
Atașamentele paginii 2026-01-14-clasa-7-tema-12-optional
|
Istoria paginii runda/cerc-8-20130226
|
Clasament 4martie_vs_7-8-9
|
Diferențe pentru problema/perechi între reviziile 4 și 5
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="perechi") ==
Fie un șir a[~1~], a[~2~], ..., a[~n~] de numere naturale, unde n este impar. Avem la dispoziție o singură operație admisă și
anume: putem aduna la două poziții diferite din șir o aceeași valoare naturală nenulă.
Fie un șir a[~1~], a[~2~], ..., a[~n~] de numere naturale, unde n este impar. Avem la dispoziție o singură operație admisă și anume: putem aduna la două poziții diferite din șir o aceeași valoare naturală nenulă.
h2. Cerințe
# Să se verifice dacă șirul poate să aibă toate elementele egale după aplicarea unei singure operații.
# Folosind de mai multe ori operația admisă, să se obțină șirul cu toate elementele egale, dar valoarea egală obținută
să nu depășească dublul valorii maxime din șirul inițial.
# Folosind de mai multe ori operația admisă, să se obțină șirul cu toate elementele egale, dar valoarea egală obținută să nu depășească dublul valorii maxime din șirul inițial.
h2. Date de intrare
Fișierul de intrare $perechi.in$ conține pe prima linie un număr natural C, pe a doua linie numărul n, iar pe linia a treia,
separate prin câte un spațiu, valorile a[~1~], a[~2~], ..., a[~n~].
Fișierul de intrare $perechi.in$ conține pe prima linie un număr natural C, pe a doua linie numărul n, iar pe linia a treia, separate prin câte un spațiu, valorile a[~1~], a[~2~], ..., a[~n~].
h2. Date de ieșire
Fișierul $perechi.out$ va conține:
# Dacă C=1, atunci se va rezolva doar prima cerință, deci se va afișa pe prima linie valoarea 0 dacă nu se pot obține
în șir toate elementele egale, sau se vor afișa trei numere naturale i j v cu semnificația: la pozițiile i și j din șir se
adaugă valoarea v și astfel toate elementele vectorului vor deveni egale.
# Dacă C=2, atunci se va rezolva doar a doua cerință. Pe fiecare linie a fișierului de ieșire se vor afișa exact trei valori
i j v cu semnificația: se adună valoarea v la a[~i~] și la a[~j~] (unde i și j sunt distincte și sunt cuprinse între 1 și n).
# Dacă C=1, atunci se va rezolva doar prima cerință, deci se va afișa pe prima linie valoarea 0 dacă nu se pot obține în șir toate elementele egale, sau se vor afișa trei numere naturale i j v cu semnificația: la pozițiile i și j din șir se adaugă valoarea v și astfel toate elementele vectorului vor deveni egale.
# Dacă C=2, atunci se va rezolva doar a doua cerință. Pe fiecare linie a fișierului de ieșire se vor afișa exact trei valori i j v cu semnificația: se adună valoarea v la a[~i~] și la a[~j~] (unde i și j sunt distincte și sunt cuprinse între 1 și n).
h2. Restricții
* 0 ≤ a[~i~] ≤ 100 000 000, pentru orice i=1..n
* Elementele șirului inițial nu sunt neapărat distincte, dar nu sunt nici toate egale
* Dacă există mai multe soluții, puteți afișa oricare dintre ele.
* Dacă numărul operațiilor aplicate este mai mic sau egal decât n, iar valoarea finală este de cel mult două ori cât
maximul inițial și rezultatul aplicării operațiilor furnizează în șir aceeași valoare, atunci veți primi 100% din
punctaj.
* Dacă numărul operațiilor este cuprins între n+1 și 2n, iar valoarea finală este de cel mult două ori cât maximul
inițial și rezultatul aplicării operațiilor furnizează în șir aceeași valoare, atunci veți primi 70% din punctaj.
* Dacă numărul operațiilor este mai mare de 2n sau dacă valoarea finală depășește dublul valorii maxime inițiale,
atunci veți primi 0 puncte. De asemenea, dacă în urma operațiilor aplicate nu se obține un șir cu aceeași valoare
peste tot, sau dacă aplicați o operație în care pozițiile i și j nu sunt din intervalul 1..n, atunci de asemenea veți
primi 0 puncte.
* Pentru teste valorând 20 de puncte vom avea C=1. Pentru restul testelor vom avea C=2, din care pentru 30 de
puncte șirul va fi format din numere distincte cuprinse între 1 și n.
* Dacă numărul operațiilor aplicate este mai mic sau egal decât n, iar valoarea finală este de cel mult două ori cât maximul inițial și rezultatul aplicării operațiilor furnizează în șir aceeași valoare, atunci veți primi 100% din punctaj.
* Dacă numărul operațiilor este cuprins între n+1 și 2n, iar valoarea finală este de cel mult două ori cât maximul inițial și rezultatul aplicării operațiilor furnizează în șir aceeași valoare, atunci veți primi 70% din punctaj.
* Dacă numărul operațiilor este mai mare de 2n sau dacă valoarea finală depășește dublul valorii maxime inițiale, atunci veți primi 0 puncte. De asemenea, dacă în urma operațiilor aplicate nu se obține un șir cu aceeași valoare peste tot, sau dacă aplicați o operație în care pozițiile i și j nu sunt din intervalul 1..n, atunci de asemenea veți primi 0 puncte.
* Pentru teste valorând 20 de puncte vom avea C=1. Pentru restul testelor vom avea C=2, din care pentru 30 de puncte șirul va fi format din numere distincte cuprinse între 1 și n.
h2. Exemple
Nu există diferențe între securitate.