#include <iostream>
using namespace std;
int wyliczKoszt(int* lista, int n) {
int koszt = 0;
while (n > 1) {
int min1 = 0, min2 = 1;
for (int i = 2; i < n; i++) {
if (lista[i] < lista[min1]) {
min1 = i;
if (lista[min1] < lista[min2])
swap(min1, min2);
}
}
koszt += lista[min1] + lista[min2];
lista[min1] = lista[min1] + lista[min2];
swap(lista[min2], lista[n - 1]);
n--;
}
return koszt;
}
int main() {
int n;
cout << "Ile elementow ma tablica?\n n = ";
cin >> n;
int* L = new int[n];
cout << "Podaj elementy:" << endl;
for (int i = 0; i < n; i++)
cin >> L[i];
cout << wyliczKoszt(L, n) << endl;
delete[] L;
system("pause");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHd5bGljektvc3p0KGludCogbGlzdGEsIGludCBuKSB7CiAgaW50IGtvc3p0ID0gMDsKICB3aGlsZSAobiA+IDEpIHsKICAgIGludCBtaW4xID0gMCwgbWluMiA9IDE7CiAgICBmb3IgKGludCBpID0gMjsgaSA8IG47IGkrKykgewogICAgICBpZiAobGlzdGFbaV0gPCBsaXN0YVttaW4xXSkgewogICAgICAgIG1pbjEgPSBpOwogICAgICAgIGlmIChsaXN0YVttaW4xXSA8IGxpc3RhW21pbjJdKQogICAgICAgICAgc3dhcChtaW4xLCBtaW4yKTsKICAgICAgfQogICAgfQogICAga29zenQgKz0gbGlzdGFbbWluMV0gKyBsaXN0YVttaW4yXTsKICAgIGxpc3RhW21pbjFdID0gbGlzdGFbbWluMV0gKyBsaXN0YVttaW4yXTsKICAgIHN3YXAobGlzdGFbbWluMl0sIGxpc3RhW24gLSAxXSk7CiAgICBuLS07CiAgfQogIHJldHVybiBrb3N6dDsKfQoKaW50IG1haW4oKSB7CiAgaW50IG47CiAgY291dCA8PCAiSWxlIGVsZW1lbnRvdyBtYSB0YWJsaWNhP1xuIG4gPSAiOwogIGNpbiA+PiBuOwogIGludCogTCA9IG5ldyBpbnRbbl07CiAgY291dCA8PCAiUG9kYWogZWxlbWVudHk6IiA8PCBlbmRsOwogIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgY2luID4+IExbaV07CiAgY291dCA8PCB3eWxpY3pLb3N6dChMLCBuKSA8PCBlbmRsOwogIGRlbGV0ZVtdIEw7CiAgc3lzdGVtKCJwYXVzZSIpOwogIHJldHVybiAwOwp9