#P1813. [NOI1998] 个人所得税
[NOI1998] 个人所得税
【题目描述】
某国个人所得税法规定,普通公民的主要应纳税收入项目及纳税金额如下:
工资、薪金所得。按月计算征税,以每月收入额减除费用800元后的余额作为该月应纳税所得额,税率如下表所示:
级数 月应纳税所得额 税率(%)
1 不超过500元的 5
2 超过500元~2000元的部分 10
3 超过2000元~5000元的部分 15
4 超过5000元~20000元的部分 20
5 超过20000元~40000元的部分 25
6 超过40000元~60000元的部分 30
7 超过60000元~80000元的部分 35
8 超过80000元~100000元的部分 40
9 超过100000元的部分 45
一次性劳动报酬所得。按次计算征税,每次不超过4000元的,减除费用800元;4000元以上的,减除20%的费用,余额为应纳税所得额。征税税率如下表所示:
级数 每次应纳税所得额 税率(%)
1 不超过20000元的部分 20
2 超过20000元~50000元的部分 30
3 超过50000元的部分 40
由上面可以看出,个人工资、薪金及一次性劳动报酬所得都是按照超额累进税率来征税的。超额累进税率将应纳税所得额按数额大小分成若干等级,每一等级 规定一个税率,税率依次提高,但每一纳税人的的应纳税所得额依照所属等级同时适用几个税率分别计算,将计算结果相加后的总额作为应纳税款。
例如,某人某月工资总额为3800元,减去800元后,应纳税所得额为3000元。其中1级500元,2级1500元,3级1000元, 税率分别为5%、10%、15%,应纳税总额为500*5%+1500*10%+1000*15%=325(元)。现在需要你编一程序,根据该国某公司的 所有职员一年内的各项收入信息(收入项目、收入时间、收入金额)计算该公司所有职员这一年应交纳的个人所得税总额。
【输入格式】
第一行为一个正整数M(M<=50000),表示该公司的职员总数(职员编号依次为1,2,…,M)。接下来的各行每行表示一年内某一个职员的一项收入信息,收入信息最多不超过10000行。
具体格式如下:
工资、薪金收入信息:PAY 职员编号 收入时间 收入金额
一次性劳务报酬收入信息:INCOME 职员编号 收入时间 收入金额
其中,收入时间格式为:MM/DD,MM表示月份(1<=MM**<=12),DD表示日期(1<=DD<=31);收入金额是一个正整数(单位:元),并假设每人每项收入金额小于100**万元,每人收入总金额不超过32位整数范围。
输入文件以字符“#”表示结束。输入文件中同一行相邻两项之间用一个或多个空格隔开。
【输出格式】
输出文件只有一个正数P(保留两位小数),P表示该公司所有职员一年内应交纳的个人所得税总额(单位:元)。
【样例输入】
2
PAY 1 2/23 3800
INCOME 2 4/8 4010
INCOME 2 4/18 800
PAY 1 8/14 6700
PAY 1 8/10 1200
PAY 2 12/10 20000
#
【样例输出】
5476.60
【来源】
NOI