Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <stack>
- #include <list>
- #include <vector>
- #include <cmath>
- #include <algorithm>
- #include <iostream>
- #include <iomanip>
- #include <string>
- #define INF 1999999999
- #define TAM 1000099
- #define N int i=0; i<n; i++
- #define M int j=0; j<m-1; j++
- using namespace std;
- int consum[TAM] = {0};
- struct casa{
- int pessoas;
- int consumo;
- };
- int how(casa a, casa b){
- return a.consumo < b.consumo;
- }
- struct cidade{
- vector<casa> c;
- double conMed;
- };
- int main(){
- int casNum=1, n, conMax=0;
- double x, y, numPessTot=0, consTot=0;
- casa house;
- vector<casa> casas;
- vector<cidade> cidades;
- cidade city;
- vector<casa>::iterator it;
- vector<cidade>::iterator vit;
- cin >> n;
- while(n){
- for(N){
- cin >> x >> y;
- if(y>conMax){
- conMax = y;
- }
- house.pessoas = x;
- house.consumo = floor(y/x);
- casas.push_back(house);
- numPessTot += x;
- consTot += y;
- }
- for(it = casas.begin(); it!=casas.end();it++){
- consum[it->consumo] += it->pessoas;
- }
- casas.clear();
- for(int i=0; i<=conMax; i++){
- if(consum[i]!=0){
- house.consumo = i;
- house.pessoas = consum[i];
- casas.push_back(house);
- }
- }
- double conMed = consTot/numPessTot;
- conMed *= 100;
- conMed = floor(conMed);
- conMed /= 100;
- city.c = casas;
- city.conMed = conMed;
- cidades.push_back(city);
- consTot = 0;
- numPessTot = 0;
- casNum++;
- casas.clear();
- cin >> n;
- }
- cout << fixed;
- cout.precision(2);
- int i =1;
- for(vit = cidades.begin(); vit!=cidades.end()-1; vit++){
- cout << "Cidade# " << i << ":\n";
- for(it=vit->c.begin(); it!=vit->c.end()-1; it++){
- cout << it->pessoas << "-" << it->consumo << " ";
- }
- cout << it->pessoas << "-" << it->consumo << endl;
- printf("Consumo medio: %.2lf m3.\n\n", vit->conMed);
- //cout << "Consumo medio: " << vit->conMed << " m3.\n\n";
- i++;
- }
- cout << "Cidade# " << i << ":\n";
- for(it=vit->c.begin(); it!=vit->c.end()-1; it++){
- cout << it->pessoas << "-" << it->consumo << " ";
- }
- cout << it->pessoas << "-" << it->consumo << endl;
- printf("Consumo medio: %.2lf m3.", vit->conMed);
- //cout << "Consumo medio: " << vit->conMed << " m3.";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment