Initial commit
This commit is contained in:
71
2022/city/12/energie/energie.cpp
Normal file
71
2022/city/12/energie/energie.cpp
Normal file
@@ -0,0 +1,71 @@
|
||||
#include <fstream>
|
||||
#include <algorithm>
|
||||
#include <unordered_map>
|
||||
#include <cmath>
|
||||
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<int, string> 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;
|
||||
}
|
||||
Reference in New Issue
Block a user