Fişierul intrare/ieşire: | countperm.in, countperm.out | Sursă | Algoritmiada 2022, Runda 3 |
Autor | Tamio-Vesa Nakajima | Adăugată de | |
Timp execuţie pe test | 0.425 sec | Limită de memorie | 262144 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Countperm
Se dă o permutare p cu n elemente. Să se numere câte valori 1 ≤ a < b < c < d ≤ n există astfel încât p[c] < p[a] < p[d] < p[b].
Date de intrare
Fişierul de intrare countperm.in conţine două rânduri. Pe primul rând apare n. Pe al doilea rând apare permutarea p, elementele sale fiind separate prin spaţiu alb.
Date de ieşire
În fişierul de ieşire countperm.out se va afişa răspunsul cerut, modulo 109+7.
Restricţii
- 1 ≤ n ≤ 4000
- p este o permutare, adică conţine toate numerele de la 1 la n exact odată.
- Pentru 20 de puncte, n ≤ 50.
- Pentru alte 30 de puncte, n ≤ 700.
- Pentru alte 20 de punte, n ≤ 2000.
Exemplu
countperm.in | countperm.out | Explicatie |
---|---|---|
5 3 5 1 2 4 | 2 | Doua seturi de numere respecta cerinta. Cu valorile a,b,c si d: 1 2 3 5 1 2 4 5 |
12 8 2 1 5 10 7 3 11 4 12 6 9 | 18 | 18 seturi de numere respecta cerinta. Cu valorile a,b,c si d: 1 5 6 12 1 5 7 12 1 5 9 12 1 5 11 12 1 8 9 12 1 8 11 12 1 10 11 12 4 5 7 11 4 5 7 12 4 5 9 11 4 5 9 12 4 6 7 11 4 6 9 11 4 8 9 11 4 8 9 12 6 8 9 12 6 8 11 12 6 10 11 12 |