#include<stdlib.h>
#include<stdio.h>
#include<string.h>
struct proprietate
{
char strada[25];
int numar_imobil;
struct caracteristici
{
char tip[6];
char categorie;
float suprafata;
} b;
};
void citire(int n,struct proprietate v[])
{
for(int i=0; i<n; i++)
{
printf("introduce strada: ");
scanf("%s",&v[i].strada);
printf("introduce numar_imobil: ");
scanf("%d",&v[i].numar_imobil);
getchar(); ///curatam bufferul
printf("introduce tipul: ");
scanf("%s",&v[i].b.tip);
getchar(); ///buffer
printf("introduce categoria: ");
scanf("%c",&v[i].b.categorie);
getchar(); ///buffer
printf("introduce suprafata: ");
scanf("%f",&v[i].b.suprafata);
}
}
void ex_1(struct proprietate v[], float impozite[], int n)
{
for(int i=0; i<n; i++)
{
float cat,tip;
if(v[i].b.categorie=='A')
cat=1.25;
if(v[i].b.categorie=='B')
cat=0.85;
if(v[i].b.categorie=='C')
cat=0.6;
if(strcmp(v[i].b.tip,"casa")==0)
{
tip=1;
}
else
{
tip=0.33;
}
impozite[i]=tip*cat*v[i].b.suprafata;
}
float max1=0;
for(int i=0; i<n; i++)
{
if(impozite[i]>max1)
{
max1=impozite[i];
}
}
for(int i=0; i<n; i++)
{
if(impozite[i]==max1)
{
printf("%s %d\n",v[i].strada,v[i].numar_imobil); /// strada si nr_imobil
}
}
}
void ex_2(struct proprietate v[], int n)
{
float min1=v[0].b.suprafata;
for(int i=1; i<n; i++)
{
if(v[i].b.suprafata<min1)
min1=v[i].b.suprafata;
}
for(int i=1; i<n; i++)
{
if(v[i].b.suprafata==min1)
{
printf("Suprafata cea mai mica o are strada %s\n",v[i].strada);
}
}
}
int main()
{
int n;
scanf("%d",&n);
struct proprietate v[n];
citire(n,v);
float impozite[n];
ex_1(v,impozite,n);
ex_2(v,n);
}