1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
// koszulki.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
//

#include <iostream>
using namespace std;

void merge(int tablica[], int start, int srodek, int koniec)
{
    int* tab_pom = new int[(koniec - start)]; 
    int i = start, j = srodek + 1, k = 0; 

    while (i <= srodek && j <= koniec)
    {
        if (tablica[j] < tablica[i])
        {
            tab_pom[k] = tablica[j];
            j++;
        }
        else
        {
            tab_pom[k] = tablica[i];
            i++;
        }
        k++;
    }

    if (i <= srodek)
    {
        while (i <= srodek)
        {
            tab_pom[k] = tablica[i];
            i++;
            k++;
        }
    }
    else
    {
        while (j <= koniec)
        {
            tab_pom[k] = tablica[j];
            j++;
            k++;
        }
    }

    for (i = 0; i <= koniec - start; i++)
        tablica[start + i] = tab_pom[i];

}

void merge_sort(int tablica[], int start, int koniec)
{
    int srodek;

    if (start != koniec)
    {
        srodek = (start + koniec) / 2;
        merge_sort(tablica, start, srodek);
        merge_sort(tablica, srodek + 1, koniec);
        merge(tablica, start, srodek, koniec);
    }
}


int main()
{
    int n, k, a, licznik;
    cin >> n >> k;
    int tab1 [2000];
    licznik = 0;
    for (int i = 0; i < n; i++) {
        cin >> a;
        tab1[i] = a;
    }

    merge_sort(tab1, 0, n-1);

    for (int i = n-k; i >=0; i++) {
        if (tab1[i] == tab1[i - 1]) {
            licznik = licznik + 1;
        }
        else break;
    }

    cout << k + licznik;


    return 0;



}

// Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania
// Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie

// Porady dotyczące rozpoczynania pracy:
//   1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi
//   2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła
//   3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty
//   4. Użyj okna Lista błędów, aby zobaczyć błędy
//   5. Wybierz pozycję Projekt > Dodaj nowy element, aby utworzyć nowe pliki kodu, lub wybierz pozycję Projekt > Dodaj istniejący element, aby dodać istniejące pliku kodu do projektu
//   6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln