U128715 向大佬学习
题目背景
半年的疫情,同学们几乎都没有学习。~~丧心病狂的~~老师决定要考试淘汰一些同学,所以同学们开始疯狂的互相学习。
题目描述
bdfz有n名校队学生。第i名学生初始的时候有$a_i$点知识,同学们决定相互学习,提高大家的知识水平。用一条有向的,从u到v的边,表示u同学可以给v同学讲题。很不幸,由于疫情,同学们必须在线讲题,讲题过程中,受到网络影响,u的知识不能全部传递给v。每条边权用分数$p/q$表示,学生v获取到的知识,等于u的知识乘以$p/q$然后向下取整。一名同学可以给多名同学讲题,一名同学也可以从多名同学那里接受知识。当u给v讲题以后,v的知识会增加,但是u的知识不变。
为了防止给别人讲错,每名同学都会在确保自己已经接收到所有能接收到的知识以后,才会开始给别人讲。很不幸的是,梁老师还划了一条分数线s,如果同学发现自己接收到所有知识以后,知识量还是小于s,他就会被淘汰,立即离开信竞队,并且无法再给别人讲题了。
现在请你写个程序,对于每名同学,输出他能否留在信竞队,如果能,输出Stay,如果不能,输出AFO
输入格式
输入第一行是三个整数n,m和s,表示校队有n名同学,有m条讲题的边,以及分数线是s。
第二行是n个整数$a_i$,表示每名同学的初始知识。
接下来是m行,每行四个整数u,v,p,q,表示u给v讲题,边权是$p/q$
输出格式
输出n行,第i行代表第i名同学的情况,Stay表示留下,AFO表示退役。
说明/提示
数据范围
$1 \leq n,m \leq 2*10^5$
$0 \leq a_i,s,p,q \leq 10^9$
$p \leq q, u \neq v$
输入数据保证没有环。保证最终结果和中间计算的结果都在long long范围内。
样例解释:
同学1的初始知识是100,他传了50的知识给2,传了33点给3号同学。2号同学到线了,2号同学把自己知识的一半25点传给了4号。4号自己本来有40点,接收到25点知识以后也过线了。但是3号本来没有知识,从1号接受的也不够50点,所以他没有过线,被淘汰了,同时他也不能传递知识给4号了。