My code exceeds the time limit for one test case. Please tell me how can i optimize my code?
#include
using namespace std;
int main() {
int n,k;
cin>>n>>k;
int *input = new int[n];
for(int i=0;i<n;i++) {
cin>>input[i];
}
int i=0;
while(k>0) {
int max_index = -1;
int max_data = input[i];
for(int j=i+1;j<n;j++) {
if(input[j]>max_data) {
max_index = j;
max_data = input[j];
}
}
if(max_index != -1) {
k–;
swap(input[i],input[max_index]);
}
if(i==n-1) {
break;
}
i++;
}
for(int i=0;i<n;i++) {
cout<<input[i]<<" ";
}
delete [] input;
return 0;
}