text: # Problem Write a program of the Selection Sort algorithm which sorts a sequence A in ascending order.The algorithm should be based on the following pseudocode: SelectionSort(A) 1 for i = 0 to A.length-1 2 mini = i 3 for j = i to A.length-1 4 if A[j] < A[mini] 5 mini = j 6 swap A[i] and A[mini] Note that, indices for array elements are based on 0-origin.Your program should also print the number of swap operations defined in line 6 of the pseudocode in the case where i ≠ mini.Constraints 1 ≤ N ≤ 100 Input The first line of the input includes an integer N, the number of elements in the sequence.In the second line, N elements of the sequence are given separated by space characters.Output The output consists of 2 lines.In the first line, please print the sorted sequence.Two contiguous elements of the sequence should be separated by a space character.In the second line, please print the number of swap operations.Examples Input 6 5 6 4 2 1 3 Output 1 2 3 4 5 6 4 Input 6 5 2 4 6 1 3 Output 1 2 3 4 5 6 3 # Solution #include <iostream> using namespace std; int main(void) { int n, an[100], cnt = 0; cin >> n; for(int i = 0; i < n; i++) cin >> an[i]; for(int i = 0; i < n; i++) { int mini = i; int tmp = an[i]; for(int j = i; j < n; j++) { if(an[j] < an[mini]) { mini = j; } } if(i != mini) { an[i] = an[mini]; an[mini] = tmp; cnt++; } } for(int i = 0; i < n; i++) cout << an[i] << (i == n - 1 ?"\n" : " "); cout << cnt << endl; return 0; }