⼩杨的班级⾥共有 N 名同学,学号从 0 ⾄ N-1 。某节课上,⽼师安排全班同学进⾏⼀次握⼿游戏,具体规则如下:⽼师安排了⼀个顺序,让全班 N 名同学依次进⼊教室。每位同学进⼊教室时,需要和已经在教室内且学号⼩于⾃⼰的同学握⼿。
现在,⼩杨想知道,整个班级总共会进⾏多少次握⼿。
提⽰:可以考虑使⽤归并排序进⾏降序排序,并在此过程中求解。
输⼊包含 2 ⾏。
第⼀⾏⼀个整数 N ,表⽰同学的个数;
第⼆⾏ N 个⽤单个空格隔开的整数,依次描述同学们进⼊教室的顺序,每个整数在 [0,N-1] 之间,表⽰该同学的学号。 保证每位同学会且只会进⼊教室⼀次.
输出⼀⾏⼀个整数,表⽰全班握⼿的总次数。
样例输入 1 4 2 1 3 0 样例输入 2 6 0 1 2 3 4 5
样例输出 1 2 样例输出 2 15
对于样例数据1:
0 号同学进⼊教室,此时教室⾥有 1,2,3 号同学。 0 号同学的学号⽐他们都⼩,因此 0 号同学不需要与其他同学握⼿。
综上所述全班⼀共握⼿ 2 次。
对于样例数据2
全班所有同学之间都会进⾏握⼿,因为每位同学来到教室时,都会发现他的学号是当前教室⾥最⼤的,所以他需要 和教室⾥的每位其他同学进⾏握⼿。
对于所有测试点,保证2<=N<=3e5