区間k大数照会【ブルーブリッジカップ】


問題を解く構想.
2つの配列、1つ目の配列で入力を受信し、2つ目の配列で指定した区間の数を格納し、sortで降順に並べ、最後にKの大きい数を直接出力すればよい.△この問題は等しい場合を排除する必要はありません.つまり、4、4、3、1の中で2番目に大きいのは4で、3ではありません.
#include
#include 
#include
#include
using namespace std;
bool cmp(int a,int b){
	return a>=b;
}
int main(){
	int n;
	cin>>n;
	int arr[1005],s[1005];
	for(int i=0;i<n;i++){
		cin>>arr[i];
	}
	int m;
	cin>>m;
	while(m--){
		memset(s,0,sizeof(s)); 
		int start,end,index;
		cin>>start>>end>>index;
		//           
		int j=0;
		for(int i=start-1;i<end;i++)
		 {
			s[j++]=arr[i];
		}
		sort(s,s+(end-start+1),cmp);
		cout<<s[index-1]<<endl;	
	}
	
	return 0;
}