CSES - Eri luvut Sinulle annetaan lista lukuja ja tehtäväsi on laskea, monessako alilistassa jokainen luku on eri luku.

Esimerkiksi vastaus listalle $[1,2,1,1,2]$ on $8$, koska halutut alilistat ovat $[1]$ (kolmesti), $[2]$ (kahdesti), $[1,2]$ (kahdesti) sekä $[2,1]$.

Voit olettaa, että listassa on enintään $10^5$ lukua ja jokainen luku on välillä $1 \dots 10^9$.

Python

Tee tiedostoon alldistinct.py funktio count, joka antaa alilistojen määrän.
def count(t):
    # TODO

if __name__ == "__main__":
    print(count([1,2,3,4,5])) # 15
    print(count([1,1,1,1,1])) # 5
    print(count([1,2,1,1,2])) # 8
Java

Tee tiedostoon AllDistinct.java metodi count, joka antaa alilistojen määrän.
public class AllDistinct {
    public long count(int[] t) {
        // TODO
    }

    public static void main(String[] args) {
        AllDistinct a = new AllDistinct();
        System.out.println(a.count(new int[] {1,2,3,4,5})); // 15
        System.out.println(a.count(new int[] {1,1,1,1,1})); // 5
        System.out.println(a.count(new int[] {1,2,1,1,2})); // 8
    }
}