SRM 717 DIV1 250: ScoresSequence

i!=jとしたとき辺(i, j)または(j, i)のどちらか1つだけを必ず使いたい。すべての異なる2値{i, j}でそうしたい。最大フローっぽいが、出次数の制約も考えなければならない。出次数の制約より、x!=iとして(x, i)であるような辺はs[i]個以下でなければならない。このようにiへ向かう辺を使う場合というのを1個の頂点で表し、そこへ辺(x, i)を向ける。下の図のようなグラフで最大フローをやる。

f:id:parukii:20170701102811j:plain