import java.util.Arrays;

// Una assertion interna: el reparto debe sumar el total. Este código tiene un
// error a propósito. Con java -ea la assertion lo detecta; sin -ea, nadie avisa.
public class AssertDemo {

    /** Reparte total céntimos en parts partes casi iguales. */
    static long[] split(long total, int parts) {
        if (parts <= 0) {
            throw new IllegalArgumentException("parts debe ser positivo: " + parts);
        }
        long[] shares = new long[parts];
        Arrays.fill(shares, total / parts);     // error: se pierde el resto
        assert Arrays.stream(shares).sum() == total : "el reparto no suma " + total;
        return shares;
    }

    public static void main(String[] args) {
        long[] shares = split(1000, 3);
        IO.println("reparto de 1000 en 3: " + Arrays.toString(shares));
    }
}
