第43题-[拓扑排序]Milk Scheduling

本文介绍了一道关于拓扑排序的题目,小A需要安排N头奶牛的挤奶顺序,每头奶牛有特定的挤奶时间,并存在一定的挤奶顺序约束。目标是找到所有奶牛都能完成挤奶的最早时间。输入包括奶牛的数量、挤奶顺序关系,输出是所有奶牛完成挤奶的最早时间。样例解释中展示了如何在满足条件的情况下安排挤奶顺序,以达到最早完成时间。
摘要由CSDN通过智能技术生成

题目描述

小A有N头奶牛,每头奶牛有个挤奶的时间;且某两头奶牛有挤奶顺序,即:xy,则只有在奶牛x挤完奶时,才能挤奶牛y。现在给定N头奶牛的挤奶时间,及M对先后关系,求N头奶牛都挤完奶的最早时间。

输入

第一行为两个空格隔开的整数N和M。
以下N行,第i+1行表示第i头奶牛的挤奶时间T_i;
以下M行,每行两个整数x,y,表示奶牛x在奶牛y之前挤奶。保证关系无环,即保证有解。

 

输出

输出共一行一个整数Ret,N头奶牛都挤完奶的最早时间。

样例输入

3 1
10
5 
6
3 2

样例输出

11

提示

【样例解释】

先挤奶牛1和3,第6秒时,奶牛3挤完了;接着挤奶牛1和2,第10秒时,奶牛1挤完了,第11秒时,奶牛2也挤完了。

【数据规模】

对于30%的数据:1≤N≤100;1≤M≤50;

对于100%的数据:1≤N≤10,000;1≤M≤50,000;1≤T_i≤100,000;

Code:

#include <iostream>
#include <vector>
#include <queue>

#defi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值