この問題は剰余を問います。
Ji:= 宝石 i の個数 (1≤i≤M) とします。
宝石 i を S 人全員で同じ量ずつ配ることができるのは Ji mod S=0 となるときです。なお x mod y は x を y で割ったあまりを表します。
Ji mod S=0 のとき、S 人全員で同じ量ずつ分け合うために必要な宝石 i の個数 Ei は S−(Ji mod S) 個です。これが正しいことは、あまりの性質を用いて示すことができます。一方 Ji mod S=0 のとき、明らかに S 人で配り切れるので、Ei=0 とするのが適切です。
また答えが equality
となる条件は、すべての i に対し Ei=0 が成り立つことであることも明らかです。
以上からこの問題は O(Nmax(Li)+M) で解くことが可能です。以下、解答例(C++,Python)です。