#include // std::string #include // std::cout #include #include #include #include #include using namespace std; int get_tax(int n, vector cat) { double rate = 0; if (n<=cat[0]) rate=10; else if (n<=cat[1]) rate=15; else if (n<=cat[2]) rate=25; else if (n<=cat[3]) rate=28; else if (n<=cat[4]) rate=33; else if (n<=cat[5]) rate=35; else rate=39.6; return (int)floor((rate*(double)n)/(double)100); } int main() { string s; getline(cin, s); int n; string tmp; getline(cin, tmp); stringstream ops(tmp); ops >> n; int single[] = {9075, 36900, 89350, 186350 , 405100, 406750 }; int married[] = {18150, 73800, 148850, 226850 , 405100, 457600 }; int head[] = {12950, 49400 , 127550, 206600 , 405100, 432200 }; int sep[] = {9075, 36900 , 74425 , 113425 , 202550 , 228800 }; if (s=="Single") { vector cat(&single[0], &single[5]); cout << get_tax(n, cat); } if (s=="Married joint filer" || s=="Surviving spouse") { vector cat(&married[0], &married[5]); cout << get_tax(n, cat); } if (s=="Head of household") { vector cat(&head[0], &head[5]); cout << get_tax(n, cat); } if (s=="Married filing separately") { vector cat(&sep[0], &sep[5]); cout << get_tax(n, cat); } return 0; }