#651. 【GESP2312七级】商品交易
【GESP2312七级】商品交易
题目描述
$N$ 种商品,编号从$0$ 至$N-1$ ,其中,第$i$ 种商品价值$v_i$ 元。现在共有$M$ 个商人,编号从$0$ 至$M-1$ 。在第$j$ 个商人这,你可以使用第$x_j$ 种商品交换第$y_j$ 种商品。每个商人都会按照商品价值进行交易,具体来说,如果$v_{x_j}>v_{y_j}$ ,他将会付给你$v_{y_j}>v_{x_j}$ 元钱;否则,那么你需要付给商人$v_{x_j}>v_{y_j}$ 元钱。除此之外,每次交易商人还会收取 元作为手续费,不论交易商品的价值孰高孰低。
你现在拥有商品$a$ ,并希望通过一些交换来获得商品$b$ 。请问你至少要花费多少钱?(当然,这个最小花费也可能是负数,这表示你可以在完成目标的同时赚取一些钱。)
输入格式
第一行四个整数$N,M,a,b$ ,分别表示商品的数量、商人的数量、你持有的商品以及你希望获得的商品。保证$0\le a,b< N$,保证$a\e b$ 。
第二行$N$ 个用单个空格隔开的正整数$v_0,v_1,...,v_{N-1}$ ,依次表示每种商品的价值。保证$1\le x_j,y_j< N$ 。
接下来$M$ 行,每行两个整数$x_j,y_j$ ,表示第$j$ 个商人愿意使用第$x_j$ 种商品交换第$y_j$ 种商品。保证$0\le x_j,y_j< N$ ,保证$x_j\
e y_j$ 。
输出格式
输出一行一个整数,表示最少的花费。特别地,如果无法通过交换换取商品$b$ ,请输出No solution。
3 5 0 2
1 2 4
1 0
2 0
0 1
2 1
1 25