Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | galagie.in, galagie.out | Sursă | infoarena 2.0 |
Autor | Din Folclor | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Galagie
Toată lumea ştie că în pauzele dintre orele de liceu, se face foarte multă gălăgie. O anumită clasa deţine recordul pentru acest nivel de gălăgie, iar voi vreţi să îl aflaţi. Clasa este formată din N elevi, care sunt aşezaţi într-un singur rând. Fiecare pereche de elevi simultan poartă o conversaţie (deci fiecare elev poartă o conversaţie cu ceilalţi N - 1 elevi). Când elevul i vorbeşte cu elevul j, pentru a se auzi bine, volumul discuţiei lor trebuie să fie egal cu distanţa dintre cei doi elevi.
Voi trebuie să calculaţi volumul total generat de cele N * (N - 1) conversaţii simultane.
Date de intrare
Pe prima linie a fişierului galagie.in se află numărul N, reprezentând numărul de elevi. Pe uramătoarele N linii se află N numărere, cel de pe linia i + 1 reprezentând poziţia elevului i.
Date de ieşire
Pe singura linie a fişierului galagie.out se va afla un singur număr, reprezentând volumul total modulo 1000000007.
Restricţii
- 1 ≤ N ≤ 100000
- poziţiile elevilor sunt numere naturale cuprinse între 0 şi 109 (sala de clasă este foarte mare)
Exemplu
galagie.in | galagie.out |
---|---|
3 2 5 3 | 6 |
Explicaţie
Volumul discuţiei între primii 2 elevi este egal cu |2-5| = 3 unităţi. Volumul discuţiei între ultimii doi elevi este egal cu |5-3| = 2 unităţi. Volumul discuţiei între primul şi ultimul elev este egal cu |2-3| = 1 unităţi. Volumul total generat de discuţii este egal cu 3+2+1 = 6 unităţi.