Pagini recente » Cod sursa (job #910840) | Arhiva de probleme | Cod sursa (job #233744) | Cod sursa (job #1356776) | Cod sursa (job #2336974)
#include <fstream>
using namespace std;
ifstream in("secv8.in");
ofstream out("secv8.out");
int n,a,b,v[250001],l;
char c;
bool ok;
int finsert(int a,int b)
{ for(int i=l;i>=a;i--)
v[i+1]=v[i];
l++;
v[a]=b;
}
int freverse(int a,int b)
{ while(a<b)
swap(v[a],v[b]),a++,b--;
}
int fdelete(int a,int b)
{ for(int i=a;i<=l-b+a-1;i++)
v[i]=v[i+b-a+1];
l-=(b-a+1);
}
int main()
{ in>>n>>ok;
for(int i=1;i<=n;i++)
{ in>>c;
if(c=='I')
in>>a>>b,finsert(a,b);
else if(c=='R')
in>>a>>b,freverse(a,b);
else if(c=='D')
in>>a>>b,fdelete(a,b);
else
in>>a,out<<v[a]<<'\n';
}
for(int i=1;i<=l;i++)
out<<v[i]<<" ";
in.close();
out.close();
return 0;
}