#include #include #include #include using namespace std; ifstream input_stream; ofstream output_stream; void getNumRepr(int num, char res[10]) { res[9] = '0' + (num % 10); num /= 10; // 406 res[8] = '0' + (num % 10); num /= 10; // 40 res[7] = '.'; for (int i = 6; i >= 0; i--) { if (num > 0) { res[i] = '0' + num % 10; num /= 10; } else { res[i] = ' '; } } } int main() { input_stream.open("energie.in"); output_stream.open("energie.out"); int N; input_stream >> N; int consume[N]; int sum = 0; unordered_map lnames, fnames; for (int i = 0; i < N; i++) { string tmp_lname, tmp_fname; input_stream >> tmp_lname; input_stream >> tmp_fname; input_stream >> consume[i]; lnames[consume[i]] = tmp_lname; fnames[consume[i]] = tmp_fname; sum += consume[i]; } double medium = double(sum) / double(N); medium *= 100; medium = round(medium); char medRepr[10]; getNumRepr(int(medium), medRepr); for (int i = 0; i < 10; i++) { output_stream << medRepr[i]; } output_stream << endl; sort(consume, consume + N); for (int i = N - 1; i >= 0; i--) { output_stream << lnames[consume[i]] << " "; output_stream << fnames[consume[i]] << " "; output_stream << consume[i] << endl; } input_stream.close(); output_stream.close(); return 0; }