Description:


给定一张有向图,每条边都有一个容量C和一个扩容费用W。这里扩容费用是指将容量扩大1所需的费用。求: 1、 在不扩容的情况下,1到N的最大流; 2、 将1到N的最大流增加K所需的最小扩容费用。

Input:


输入文件的第一行包含三个整数N,M,K,表示有向图的点数、边数以及所需要增加的流量。 接下来的M行每行包含四个整数u,v,C,W,表示一条从u到v,容量为C,扩容费用为W的边。

Output:


输出文件一行包含两个整数,分别表示问题1和问题2的答案。

Sample Input:


Sample Output:


题解:


准备开始刷刷网络流。
这道题第一问最大流,第二问用最小费用最大流。
处理完第一问以后,残量网络上的空间是不需要费用的,所以先将残量网络上的边费用清零。
因为可以用w的费用扩大1的容量,所以加入容量为INF,费用为w的一条边,其反向边容量为0,费用为-w。
由于要求增大k的流量,我们建立一个超级源点,由它向1连一条容量为k,费用为0的边。
直接SPFA最短路来做费用流。

代码如下: