#include <iostream>
#include <locale.h>

using namespace std;

int k, n, p;

void quicksort(int *tablica, int lewy, int prawy)
{
    int v = tablica[(lewy + prawy)/2];
    int i, j, x;
    i = lewy;
    j = prawy;
    do
    {
        while(tablica[i] < v) i++;
        while(tablica[j] > v) j--;
        if(i <= j)
        {
            x = tablica[i];
            tablica[i] = tablica[j];
            tablica[j] = x;
            i++;
            j--;
        }
    }
    while(i <= j);
    
    if(j > lewy) quicksort(tablica, lewy, j);
    if(i < prawy) quicksort(tablica, i, prawy);
}

int main(){
	
	setlocale(LC_CTYPE, "Polish");
	
	cout << "Ilość zawodników: "; cin >> n;
	cout << "Ilość koszulek: "; cin >> k;
	
	
	if(k > n || n > 2000 || k < 1){
		
		cout << "Nie poprawne wartosci."; 
		exit(0);	
	} 
	
	
	int *tablica;
    tablica = new int [n];
    

	for(int i = n ; i >= 1; i--){
		
		cout << "Liczba punktów zdobyta przez uczestnika: "; cin >> p;
		if(p > 120 || p < 1){
			
			cout << "Nie poprawne wartości.";
			exit(0);
		}
		tablica[i] = p;
	}
	
	
	cout << endl << "Przed posortowaniem: " << endl;
	for(int i = 1; i <= n; i++){
		
		cout << tablica[i] << " ";
		
	}


    quicksort(tablica, 0, n);
    
    
    cout << endl << "Po posortowaniu: " << endl;
	for(int i = 0; i < n; i++){
		
		cout << tablica[i] << " ";
		
	}

	
	for(int i = 0; i < n; i++){
		
		
		if(tablica[i] > tablica[i + 1]){
			
			int koszulki = n;
			
			if(koszulki <= k){
				
				cout << endl << endl << "Ilosc koszulek do rozdania wynosi: " << koszulki;
				
				return 0;
			} 
			
			else cout << endl << endl << "Ilosc koszulek do rozdania wynosi: " << koszulki - 2;
			
		}
		
		else if(tablica[i] == tablica[i + 1]){
			
			int koszulki = n;
			
			if(koszulki <= k){
				
				cout << endl << endl << "Ilosc koszulek do rozdania wynosi: " << koszulki;
				
				return 0;
				
			} 
			else cout << endl << endl << "Ilosc koszulek do rozdania wynosi: " << koszulki - 2;
			
		}

	}
	
	return 0;
}
