Mi servirebbe un aiuto con questo problema che in parecchi casi va fuori memoria e in altrettanti casi da un output non corretto,segue la mia soluzione!
Grazie in anticipo!
#include <bits/stdc++.h>
using namespace std;
int main(){
ofstream out("output.txt");
ifstream in("input.txt");
long long int N,M;
in>>N>>M;
vector<long long int>v(N);
vector<long long int>v1;
for(long long int i=0;i<N;i++){
v[i]=i;
}
char a;
long long int x,y,z;
vector<long long int>::iterator it;
for(long long int j=0;j<M;j++){
in>>a;
if(a=='c'){
in>>z;
v1.push_back(v[z]);
}
else{
in>>x>>y;
if(x!=y){
if(x<y){
swap_ranges(v.begin()+x+1,v.end(),v.begin()+x);
}
else{
swap_ranges(v.begin()+y,v.begin()+x-1,v.begin()+x);
swap(v[x],v[x-1]);
}
}
}
}
for(long long int i=0;i<v1.size();i++){
out<<v1[i]<<" ";
}
}