Pagini recente » Cod sursa (job #1356141) | Cod sursa (job #1032482) | Cod sursa (job #2877733) | Cod sursa (job #2286021) | Cod sursa (job #2747158)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
void insert( vector < int > &lista, int k, int e ){
lista.push_back(0);
for( int i = lista.size()-1; i >= k; i-- ){
lista[i] = lista[i-1];
}
lista[k-1] = e;
}
void reverse( vector < int > &lista, int i, int j ){
int contor = j-1, x;
for( int k = i-1; k < (i+j)/2; k++ ){
x = lista[k];
lista[k] = lista[contor];
lista[contor] = x;
contor--;
}
}
void delete1( vector < int > &lista, int i, int j ){
int contor = j, k = i-1;
while( contor < lista.size() ){
lista[k] = lista[contor];
contor++;
k++;
}
for( int k = i; k <= j; k++ ){
lista.pop_back();
}
}
int main(){
vector < int > v;
int n, z;
ifstream fin("secv8.in");
ofstream fout("secv8.out")
fin >> n >> z;
for( int i = 0; i < n; i++ ){
char operatie[10];
fin >> operatie;
if( operatie[0] == 'I' ){
int k, e;
fin >> k >> e;
insert( v, k, e );
}
if( operatie[0] == 'A' ){
int k;
fin >> k;
fout << v[k-1] << endl;
}
if( operatie[0] == 'R' ){
int ii, ij;
fin >> ii >> ij;
reverse( v, ii, ij );
}
if( operatie[0] == 'D' ){
int ii, ij;
fin >> ii >> ij;
delete1( v, ii, ij );
}
}
for( int i = 0; i < v.size(); i++ ){
fout << v[i] << " ";
}
}