问题标题: 酷町堂:6933   母**产蛋

0
0
董妙一
董妙一
资深守护
资深守护

题目链接: 酷町堂:6933

6933   母**产蛋

经验值:1200 时间限制:1000毫秒 内存限制:128MB

题目描述 Description

**场里有N只母**,编号为1,2,…,N.每只**产蛋需要花费的时间不一样,用Ti表示。但是产蛋会有一些限制,比如母**A必须在母**B前产蛋,那母**B产蛋结束之前必须让母**A产蛋完成。
**场里面的**人数非常充足,可以保证同一时刻让任意数量的母**进行产蛋。但是尽管可以同一时间产蛋,但必须满足条件限制,请你计算需要花费最小的时间代价。

输入描述 Input Description

第1行:N(母**数量) M(限制条件的个数) 空格隔开的两个整数
第2行到N+1行 每行一个整数,第i+1行Ti
第N+2行 每行包含M对以空格分隔的整数A和B,表示母**A必须先完全产蛋,然后才能开始B产蛋。这些约束永远不会形成循环,因此唯一解决方案始终是可能的。

输出描述 Output Description

所有母**产蛋完成需要的最短时间

样例输入 Sample Input

【样例输入1】 3 1 10 5 6 3 2 【样例输入2】 5 2 9 10 50 44 26 3 4 2 1

样例输出 Sample Output

【样例输出1】 11 【样例输出2】 94

数据范围及提示 Data Size & Hint

【样例1解释】
有三只母**。 每只母**产蛋所需的时间分别是10、5和6。 必须先将第3头母**完全产蛋,然后才能开始第二只母**产蛋

母**1和3最初可以同时产蛋。 母**3产蛋完毕后,母**2就可以开始了。 经过1个单位的时间后,所有母**均已完成产蛋。

1≤N≤10000
1 ≤ M ≤ 50000
1 ≤ T(i) ≤ 100000

现有思路:

1、根据题目所给,求出不需等待的母**

2、让不需等待的母**一起下蛋,求最大值

3、让等待的母**在匹配的不等待的母**下完蛋后下蛋

4、求所有等待母**下蛋时间的最大值(考虑第二步的重复)

因为学习时间不长,希望大家纠正一些错误

不需要代码,只要正确思路

谢谢!


3
1
0
0
0
0
0
刘风翔
刘风翔
新手启示者
新手启示者

。。。

好多人挖坟啊,我也挖吧

0
0
曹润持
曹润持
高级守护
高级守护

这种题,问答中的人几乎不回答。。。

我要回答