#U2122OS1. Visits
Visits
Bessie 的 ()个奶牛伙伴(编号为 )每一个都拥有自己的农场。对于每个 ,伙伴 i 想要访问伙伴 ()。
给定 的一个排列 ,访问按以下方式发生。
对于 到 的每一个 :
- 如果伙伴 已经离开了她的农场,则伙伴 仍然留在她的农场。
- 否则,伙伴 离开她的农场去访问伙伴 的农场。这次访问会产生快乐的哞叫 次()。
对于所有可能的排列 ,计算所有访问结束后可能得到的最大哞叫次数。
输入格式(从终端 / 标准输入读入):
输入的第一行包含 。
对于每一个 ,第 行包含两个空格分隔的整数 和 。
输出格式(输出至终端 / 标准输出):
输出一个整数,为所求的答案。
注意这个问题涉及到的整数可能需要使用 64 位整数型(例如,C/C++ 中的 "long long")。
输入样例:
4
2 10
3 20
4 30
1 40
输出样例:
90
如果 ,则
- 伙伴 访问伙伴 的农场,产生 次哞叫。
- 伙伴 看到伙伴 已经离开了农场,所以无事发生。
- 伙伴 访问伙伴 的农场,又产生 次哞叫。
- 伙伴 看到伙伴 已经离开了农场,所以无事发生。
这样总计得到了 次哞叫。
另一方面,如果 ,则
- 伙伴 访问伙伴 的农场,产生 次哞叫。
- 伙伴 访问伙伴 的农场,产生 次哞叫。
- 伙伴 访问伙伴 的农场,产生 次哞叫。
- 伙伴 看到伙伴 已经离开了农场,所以无事发生。
这样总计得到了 次哞叫。可以证明这是所有可能的排列 中访问结束后得到的最大可能的哞叫次数。
测试点性质:
- 测试点 2-3 对于所有的 i≠j 满足 a≠a。
- 测试点 4-7 满足 N≤10。
- 测试点 8-11 没有额外限制。