#1695
Pentru un număr natural N se consideră șirul a=(1,2,3...,N), deci a[i]=i pentru orice i, 1≤i≤N.
Asupra acestui șir se pot aplica operații de două tipuri:
a) la operația de tipul 1 se specifică două valori i și j, cu 1≤i≤j≤N. Efectul acestei operații asupra șirului este de oglindire a secvenței din șir care începe cu elementul de pe poziția i și se termină cu cel de pe poziția j. De exemplu, dacă în șirul a=(1,2,3,4,5,6,7) se aplică operația 3 6, atunci șirul devine a=(1,2,6,5,4,3,7). Iar în șirul a=(1,4,3,2,5,6,7), dacă se aplică operația 4 6, atunci a=(1,4,3,6,5,2,7).
b) Operația de tipul 2 conține un indice i, 1≤i≤N, și cere să afișăm valoarea elementului care se află în acel moment pe poziția i în șir.
Se consideră M astfel de operații într-o ordine dată.
Scrieți un program care să determine și să afișeze rezultatul pentru fiecare operație de tipul 2.
ONI 2016, clasa a V-a
| Problema | Oglinda | Operații I/O |
oglinda.in/oglinda.out
|
|---|---|---|---|
| Limita timp | 0.3 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
| Id soluție | #63801931 | Utilizator | |
| Fișier | oglinda.cpp | Dimensiune | 810 B |
| Data încărcării | 19 Martie 2026, 12:23 | Scor/rezultat | Eroare de compilare |
oglinda.cpp: In function 'int main()': oglinda.cpp:25:24: error: invalid operands of types 'int*' and 'int' to binary 'operator%' if((s+j)%2==0){ ^ oglinda.cpp:26:30: error: invalid operands of types 'int*' and 'int' to binary 'operator/' if(i>(s+j)/2){ ^ oglinda.cpp:27:31: error: invalid operands of types 'int*' and 'int' to binary 'operator/' i=(s+j)/2-(i-(s+j)/2); ^ oglinda.cpp:27:42: error: invalid operands of types 'int*' and 'int' to binary 'operator/' i=(s+j)/2-(i-(s+j)/2); ^ oglinda.cpp:30:31: error: invalid operands of types 'int*' and 'int' to binary 'operator/' i=(s+j)/2+((s+j)/2-i); ^ oglinda.cpp:30:40: error: invalid operands of types 'int*' and 'int' to binary 'operator/' i=(s+j)/2+((s+j)/2-i); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Oglinda 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ă.