1 vector<int> v; 2 v.clear(); 3 vector<int>::iterator it; 4 for(int j = l + 1 ; j < r ; j++){ 5 if(a[j] >= a[l] && a[j] <= a[r]){ 6 it = upper_bound(v.begin(), v.end(), a[j]); 7 if(it == v.end()){ 8 v.push_back(a[j]); 9 }else{ 10 *it = a[j]; 11 } 12 } 13 }