整数 n, l, r と、数列 a_1, ... , a_n が与えられ
数列 a の l 番目の要素から r - 1 番目の要素だけを昇順でソート。 l 番目の要素から r - 1 番目の要素以外の要素は操作する必要がありません。また、操作後の数列 a を半角スペース区切りで出力。
#include <iostream>
using namespace std;
int main(){
int n,l,r;
cin>>n>>l>>r;
int a[n];
for(int i=0;i<n;i++){
cin>> a[i];
}
for(int i=l-1;i<r-1;i++){
for(int j=l-1;j<r-1-(i-(l-1));j++){
if(a[j]>a[j+1]){
swap(a[j+1], a[j]);
}
}
}
for(int i=0;i<n;i++){
cout<<a[i];
if(i!=n-1){
cout<<" ";
}
}
cout<<endl;
return 0;
}
入力例1
6 2 6
6 5 4 3 2 1
出力例1
6 2 3 4 5 1
このコードでの出力 6 1 2 3 4 5
どこで間違えているか中々見つけられない状況です。気づける方がいましたら教えて頂きたいです。

回答2件
あなたの回答
tips
プレビュー