package grades;

/** Igual que Scores, pero sin copias defensivas: el invariante tiene fugas. */
public class LeakyScores {
    private final int[] values;

    public LeakyScores(int[] values) {
        for (int v : values) {
            if (v < 0 || v > 20) {
                throw new IllegalArgumentException("nota fuera de 0..20: " + v);
            }
        }
        this.values = values;              // guarda la referencia de quien llamó
    }

    public int[] values() {
        return values;                     // entrega la referencia interna
    }

    public int highest() {
        int best = 0;
        for (int v : values) {
            best = Math.max(best, v);
        }
        return best;
    }
}
