302227: CF427C. Checkposts

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Checkposts

题意翻译

题目描述 你的城市有N个路口。路口之间有一条单程道路。作为城市的市长,你必须确保所有路口的安全。 为了确保安全,你必须建造一些警察检查站。一个检查站只能建在一个路口。 如果有一个检查站在i路口,保护j的条件是:i==j或者警察巡逻车可以从i走到j,并且能回到i。 建造检查站要花一些钱。 由于城市的某些地区比其他地区更昂贵,在某些路口修建检查站可能比其他路口花费更多的钱。 你必须确定以确保所有路口的安全所需的最低资金。 此外,你必须找到以的最低价格和在最小数量的检查站确保安全的方案数。 如果其中任何一个路口包含其中一个检查点而不包含在另一个路口中,则两种方式是不同的。 答案模 1000000007(10^9+7)1000000007(10 9 +7) 输入输出格式 输入格式: n (路口数) n个数 (每个路口建检查站的花费) m (以下m行是m条有向道路) x y (一条从x到y的有向道路) 输出格式: 一行用空格分割的两个数: 最小花费 方案数

题目描述

Your city has $ n $ junctions. There are $ m $ one-way roads between the junctions. As a mayor of the city, you have to ensure the security of all the junctions. To ensure the security, you have to build some police checkposts. Checkposts can only be built in a junction. A checkpost at junction $ i $ can protect junction $ j $ if either $ i=j $ or the police patrol car can go to $ j $ from $ i $ and then come back to $ i $ . Building checkposts costs some money. As some areas of the city are more expensive than others, building checkpost at some junctions might cost more money than other junctions. You have to determine the minimum possible money needed to ensure the security of all the junctions. Also you have to find the number of ways to ensure the security in minimum price and in addition in minimum number of checkposts. Two ways are different if any of the junctions contains a checkpost in one of them and do not contain in the other.

输入输出格式

输入格式


In the first line, you will be given an integer $ n $ , number of junctions $ (1<=n<=10^{5}) $ . In the next line, $ n $ space-separated integers will be given. The $ i^{th} $ integer is the cost of building checkpost at the $ i^{th} $ junction (costs will be non-negative and will not exceed $ 10^{9} $ ). The next line will contain an integer $ m (0<=m<=3·10^{5}) $ . And each of the next $ m $ lines contains two integers $ u_{i} $ and $ v_{i} (1<=u_{i},v_{i}<=n; u≠v) $ . A pair $ u_{i},v_{i} $ means, that there is a one-way road which goes from $ u_{i} $ to $ v_{i} $ . There will not be more than one road between two nodes in the same direction.

输出格式


Print two integers separated by spaces. The first one is the minimum possible money needed to ensure the security of all the junctions. And the second one is the number of ways you can ensure the security modulo $ 1000000007 $ $ (10^{9}+7) $ .

输入输出样例

输入样例 #1

3
1 2 3
3
1 2
2 3
3 2

输出样例 #1

3 1

输入样例 #2

5
2 8 0 6 0
6
1 4
1 3
2 4
3 4
4 5
5 1

输出样例 #2

8 2

输入样例 #3

10
1 3 2 2 1 3 1 4 10 10
12
1 2
2 3
3 1
3 4
4 5
5 6
5 7
6 4
7 3
8 9
9 10
10 9

输出样例 #3

15 6

输入样例 #4

2
7 91
2
1 2
2 1

输出样例 #4

7 1

Input

题意翻译

题目描述 你的城市有N个路口。路口之间有一条单程道路。作为城市的市长,你必须确保所有路口的安全。 为了确保安全,你必须建造一些警察检查站。一个检查站只能建在一个路口。 如果有一个检查站在i路口,保护j的条件是:i==j或者警察巡逻车可以从i走到j,并且能回到i。 建造检查站要花一些钱。 由于城市的某些地区比其他地区更昂贵,在某些路口修建检查站可能比其他路口花费更多的钱。 你必须确定以确保所有路口的安全所需的最低资金。 此外,你必须找到以的最低价格和在最小数量的检查站确保安全的方案数。 如果其中任何一个路口包含其中一个检查点而不包含在另一个路口中,则两种方式是不同的。 答案模 1000000007(10^9+7)1000000007(10 9 +7) 输入输出格式 输入格式: n (路口数) n个数 (每个路口建检查站的花费) m (以下m行是m条有向道路) x y (一条从x到y的有向道路) 输出格式: 一行用空格分割的两个数: 最小花费 方案数

加入题单

算法标签: