#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... |