#include #include #include using namespace std; map ,double> >M[10]; double bani; int i; char s[100]; string tip,Single="Single",Maried_joint="Married joint filer",Maried="Married filing separately",Heads="Head of household",Surviving="Surviving spouse"; int main() { M[1][Single]=(make_pair(make_pair(0,9075),10.0)); M[2][Single]=(make_pair(make_pair(9075,36900),15.0)); M[3][Single]=(make_pair(make_pair(36900,89350),25.0)); M[4][Single]=(make_pair(make_pair(89350,186350),28.0)); M[5][Single]=(make_pair(make_pair(186350,405100),33.0)); M[6][Single]=(make_pair(make_pair(405100,406750),35.0)); M[7][Single]=(make_pair(make_pair(405100,500000),39.6)); M[1][Maried_joint]=(make_pair(make_pair(0,18150),10.0)); M[1][Surviving]=(make_pair(make_pair(0,18150),10.0)); M[2][Maried_joint]=(make_pair(make_pair(18150,73800),15.0)); M[2][Surviving]=(make_pair(make_pair(18150,73800),15.0)); M[3][Maried_joint]=(make_pair(make_pair(73800,148850),25.0)); M[3][Surviving]=(make_pair(make_pair(73800,148850),25.0)); M[4][Maried_joint]=(make_pair(make_pair(148850,226850),28.0)); M[4][Surviving]=(make_pair(make_pair(148850,226850),28.0)); M[5][Maried_joint]=(make_pair(make_pair(226850,405100),33.0)); M[5][Surviving]=(make_pair(make_pair(226850,405100),33.0)); M[6][Maried_joint]=(make_pair(make_pair(405100,457600),35.0)); M[6][Surviving]=(make_pair(make_pair(405100,457600),35.0)); M[7][Maried_joint]=(make_pair(make_pair(457600,500000),39.6)); M[7][Surviving]=(make_pair(make_pair(457600,500000),39.6)); M[1][Maried]=(make_pair(make_pair(0,9075),100)); M[2][Maried]=(make_pair(make_pair(9075,36900),15.0)); M[3][Maried]=(make_pair(make_pair(36900,74425),25.0)); M[4][Maried]=(make_pair(make_pair(74425,113425),28.0)); M[5][Maried]=(make_pair(make_pair(113425,202550),33.0)); M[6][Maried]=(make_pair(make_pair(202550,228800),35.0)); M[7][Maried]=(make_pair(make_pair(228800,500000),39.6)); M[1][Heads]=(make_pair(make_pair(0,12950),10.0)); M[2][Heads]=(make_pair(make_pair(12950,49400),15.0)); M[3][Heads]=(make_pair(make_pair(49400,127550),25.0)); M[4][Heads]=(make_pair(make_pair(127550,206600),28.0)); M[5][Heads]=(make_pair(make_pair(206600,405100),33.0)); M[6][Heads]=(make_pair(make_pair(405100,432200),35.0)); M[7][Heads]=(make_pair(make_pair(432200,500000),39.6)); cin.getline (s,100); tip=s; cin>>bani; for(i=1;i<=7;i++) { if(M[i][tip].first.first<=bani&&M[i][tip].first.second>=bani) { cout<<(int)(bani*(M[i][tip].second/100.0)); return 0; } } return 0; }