.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » secvop

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
 .campion
secvop


Timp maxim de execuţie/test:
0.8 secunde
Memorie totală disponibilă/stivă:
16MB/1 MB

Fie N un numar natural si A un vector. Initial A[i]=i, pentru orice i=1, 2, ..., N.
Asupra acestui vector se pot aplica operatii de doua tipuri:
1.
I St Dr
Se inverseaza subsecventa din vector care începe la pozitia St si se termina la pozitia Dr (1<=St<=Dr<=N)
De exemplu, sa consideram N=10. Aplicand I 2 7 se obtine vectorul
1 7 6 5 4 3 2 8 9 10
2.
S St Dr
Se afiseaza suma elementelor din subsecventa care începe pe pozitia St si se termina pe pozitia Dr (1<=St<=Dr<=N).
De exemplu, sa consideram N=10. Aplicand S 2 7 se afiseaza 27.

Cerinţă

Scrieti un program care sa execute o secventa data de operatii de tipul celor descrise în enunt.

Date de intrare

Fişierul de intrare secvop.in conţine pe prima linie doua numere naturale separate prin spatiu N si K (unde N este dimensiunea vectorului, iar K este numarul de operatii ce trebuie sa fie executate). Pe urmatoarele K linii sunt scrise K operatii, câte o operatie pe o linie. Aceste operatii sunt scrise în ordinea în care trebuie sa fie executate. O operatie este descrisa printr-un caracter (I sau S) urmat de spatiu, apoi de indicele St (1<=St<=N), apoi de spatiu, apoi de indicele Dr (St<=Dr<=N).

Date de ieşire

Fişierul de ieşire secvop.out va conţine atâtea linii câte operatii de tipul 2 (operatii de scriere) se afla în fisierul de intrare. Pe linia i va fi scris rezultatul afisat de cea de a i-a operatii de scriere din fisierul de intrare.

Restricţii

  • 1 <= K <= 5000
  • 0 < N <= 109
  • În fisierul de intrare se afla cel putin o operatie de scriere.

Exemplu

secvop.in secvop.out Explicatie
15 4
S 2 11
I 10 15
I 1 10
S 5 10
65
21

Initial vectorul este 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
S 2 11 afiseaza suma elementelor de la pozitia 2 la pozitia 11 inclusiv: 2+3+4+5+6+7+8+9+10+11=65
I 10 15 inverseaza elementele din subsecventa de la pozitia 10 la pozitia 15. Se obtine vectorul:
1 2 3 4 5 6 7 8 9 15 14 13 12 11 10
I 1 10 inverseaza elementele din subsecventa de la pozitia 1 la pozitia 10. Se obtine vectorul:
15 9 8 7 6 5 4 3 2 1 14 13 12 11 10
S 5 10 afiseaza suma elementelor de la pozitia 5 la pozitia 10 inclusiv: 6+5+4+3+2+1=21

prof. Emanuela Cerchez
Liceul de Informatică „Grigore Moisil” Iaşi
emanuela.cerchez@gmail.com
propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la .campion 2008: celule, premii, cai, scp, forum, vedete, film, finala, ab, nice, supertri, mod3, degrade, fractii, balanta, inginer, camp, ozn, hora, trei, rebus, sl, detinut, fbr, noroc, simetric, egal, manevre, connect3, gropi, nrcuv, ruleta, carti, pod, bonuri, tgv, fib, uscat, 2sir, atac, matrice2, zeratul, afise, an, dezbateri, test, miniasm, platforma, lac, vopsea, harta, nrbun2, barfa, nrbun, bunici, opmat, acop, tren, cub, picnic, cursa, rv, compus, comun, magic, votare, onu, tramvai, bipal, nspecial, retea
De acelaşi autor: celule, scp, vedete, film, ab, supertri, inginer, camp, sl, detinut, simetric, egal, gropi, ruleta, carti, tgv, uscat, afise, dezbateri, bunici, rv, onu, nspecial, cadou, chimie, reteta, piticot, petrol, checkin, teanc, index, teren, pizza, ecran, drum, text, lbd, aven, spam, pluricex, tren2, gray, pasi, mgo, joc, anagrame, vecini, criptmat, maxim, cutie, party, friends, net, sablon, hd, pc, sir2, aztec, scara, nr, robot2, sah, formule, ed, bilete, hanoig, flood, matrice3, erdos, grup, cd, kfactor, np, cuc, radio, honest, ref, nr01, scor2, convert, auto2, compress, politics, pm, playlist, barbie, firma1, submatrix, ham, pizza1, exam, ants, teatru1, cifre1, bile1, caini, secvreg, pasune, remi, m01, sir23, tren1, joc5, pachete, aedaro, windows, renju, latime, mere1, piloti, peste, pitici, sirag1, stive, turn1, carti1, program1, spioni, kgb, lift, apel, lex, oras, homeless, subsir, dist, harta1, adevar, joc10, bare, zapezi, masina2, perechi1, raft, joc11, joc12, ferma, fni, tunel, lover, pepsi, transport, avion, monkey, premii1, garaj, carti2, tv, pact, fat, cafea, echipe1, secvente, petrom, peg, scara1, lant, ecuatii, stiva, bile4, jungla, rj, poli, text1, compus1, rez, politie, anag, codul, coment, muzeu, seti, basm, timer, secvsir, dp, placa, prod3, bursa, submdisj, sotron1, fazan, secvpar, joker, lego, medalii, cfr, antipatie, figura, links, segm, colorare, brazi, mobil, distsir, guess, greiere, pestera, conferinta, chei, ny, nx, ghinion, sumb, drenaj, telecomanda, grupuri, mahjong, rotund, viena, sport2, cos, monoton, micro, valet, nr0, maxviz, anagramabil, nrpal, lista, dame, consiliu, adprod, arme, deal, prodnr, compar, latin, interviu, vintage, prize, nrdiv, arrows, tdrept, agenda, reziston, vot2, tema, smiley, relatii, ech, scadere, nebuni, castig, expand, wb, prime2, virgule, b210
Despre liste: rev, cub1, castel, cafea, top, coment, urgenta
Software recomandat
surse trimise | ajutor