#3756
Bisortare
Pentru o permutare p
1
, p
2
, …, p
N
a numerelor de la 1
la N
și o poziție K
, (1 ≤ K ≤ N
), notăm cu Best
K
numărul minim de interschimbări (a valori situate pe poziții consecutive) necesare pentru a se obține o permutare descrescătoare de la poziția 1
la poziția K
și crescătoare de la poziția K
la poziția N
. Se dă o permutare. Se cere să se rezolve una dintre următoarele două cerințe:
1. Pentru o poziție K
dată să se calculeze Best
K
.
2. Pentru toate pozițiile K
de la 1
la N
să se calculeze Best
K
.
ONSEPI, 2021, clasele XI-XII
Problema | Bisortare | Operații I/O |
![]() |
---|---|---|---|
Limita timp | 0.25 secunde | Limita memorie |
Total: 256 MB
/
Stivă 8 MB
|
Id soluție | #57369546 | Utilizator | |
Fișier | bisortare.cpp | Dimensiune | 1.04 KB |
Data încărcării | 27 Martie 2025, 18:12 | Scor / rezultat | Eroare de compilare |
bisortare.cpp:6:1: error: 'lomg' does not name a type lomg long a[100005],aib[100005],inv[100005],revinv[100005]; ^ bisortare.cpp: In function 'void update(int, int)': bisortare.cpp:10:9: error: 'aib' was not declared in this scope aib[ind]++; ^ bisortare.cpp: In function 'long long int query(int, int)': bisortare.cpp:16:14: error: 'aib' was not declared in this scope sum+=aib[ind]; ^ bisortare.cpp: In function 'int main()': bisortare.cpp:25:12: error: 'a' was not declared in this scope f>>a[i]; ^ bisortare.cpp:34:9: error: 'inv' was not declared in this scope inv[i]=query(n-1,a[i]-1); ^ bisortare.cpp:34:26: error: 'a' was not declared in this scope inv[i]=query(n-1,a[i]-1); ^ bisortare.cpp:35:9: error: 'revinv' was not declared in this scope revinv[i]=a[i]-2-inv[i]; ^ bisortare.cpp:39:9: error: 'inv' was not declared in this scope inv[i]+=inv[i-1], revinv[n-i]+=revinv[n-i+1]; ^ bisortare.cpp:39:27: error: 'revinv' was not declared in this scope inv[i]+=inv[i-1], revinv[n-i]+=revinv[n-i+1]; ^ bisortare.cpp:43:16: error: 'inv' was not declared in this scope g<<inv[i]+revinv[i+1]+abs(pivot-i-1)<<" "; ^ bisortare.cpp:43:23: error: 'revinv' was not declared in this scope g<<inv[i]+revinv[i+1]+abs(pivot-i-1)<<" "; ^ bisortare.cpp:47:16: error: 'revinv' was not declared in this scope g<<revinv[1]+abs(pivot-k); ^ bisortare.cpp:49:16: error: 'inv' was not declared in this scope g<<inv[n-1]+abs(pivot-k); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Bisortare face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.