#include <bits/stdc++.h>
using namespace std;
const int mod(1000007);
int sir[10001] , combinari[10001];
int main ()
{
ios :: sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int lungime;
cin >> lungime;
for (int indice = 1 ; indice <= lungime ; indice++)
{ cin >> sir[indice]; }
combinari[0] = 1;
int rezultat = 1;
for (int indice = lungime , ramas = 0 ; indice > 1 ; indice--)
{
while (ramas < 2 * (lungime - indice) + 1)
{
ramas++;
for (int coloana = min(ramas , lungime) ; coloana ; coloana--) {
if ((combinari[coloana] += combinari[coloana - 1]) >= mod)
{ combinari[coloana] -= mod; }
}
}
if (sir[indice] != sir[indice - 1]) {
if ((rezultat += combinari[lungime - indice]) >= mod)
{ rezultat -= mod; }
}
}
cout << rezultat;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |