Cod sursa(job #2336974)

Utilizator LorenaMariaHantig Lorena LorenaMaria Data 5 februarie 2019 19:02:31
Problema Secv8 Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#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;
}