Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #define MAXVAL 1000
- using namespace std;
- void csort(int* v, int N)
- {
- int ricorrenze[MAXVAL + 1];
- for (int i = 0; i < MAXVAL; i++)
- ricorrenze[i] = 0;
- for (int i = 0; i < N; i++)
- ricorrenze[v[i]]++;
- for (int i = 0, cont = 0; i < MAXVAL; i++)
- for (int j = 0; j < ricorrenze[i]; j++)
- v[cont++] = i;
- }
- int main()
- {
- int N = 0;
- fstream file_stream{ "input.txt", ios::in };
- file_stream >> N;
- int* values = new int[N];
- for (int i = 0; i < N; i++)
- file_stream >> values[i];
- file_stream.close();
- csort(values, N);
- int cont = 0, price = 0;
- while (cont < N - 1)
- {
- values[cont + 1] += values[cont];
- price += values[cont + 1];
- cont++;
- for (int i = cont; i < N - 1 && values[i] > values[i + 1]; i++)
- {
- int tmp = values[i];
- values[i] = values[i + 1];
- values[i + 1] = tmp;
- }
- }
- delete[] values;
- file_stream.open("output.txt", ios::out);
- file_stream << price;
- file_stream.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment