Cod sursa(job #3270987)

Utilizator cezarica23cezar tambozi cezarica23 Data 24 ianuarie 2025 23:10:53
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

int v[10000005];

int okbro(int a, int n) 
{
    long long ans = 0;
    unordered_map<int, int> f;
    int l = 0, cnt = 0;

    for (int r = 0; r < n; r ++) 
    {
        f[v[r]] ++;
        if (f[v[r]] == 1) 
            cnt ++;
        r ++;
        while (cnt > a) 
        {
            f[v[l]] --;
            if (f[v[l]] == 0)
                cnt --;
            l ++;
        }
        ans += r - l + 1;
    }
    return ans;
}

int main() 
{
    ifstream cin("secv5.in");
    ofstream cout("secv5.out");

    long long n, a, b;
    cin >> n >> a >> b;

    for (int i = 0; i < n; i++)
        cin >> v[i];

    cout << okbro(b, n) - okbro(a - 1, n);

    return 0;
}