Cod sursa(job #3318820)

Utilizator adimiclaus15Miclaus Adrian Stefan adimiclaus15 Data 29 octombrie 2025 10:33:04
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;


int n;
int a[(1 << 20) + 1];

long long solve(int x) {
    map<int, int> mp;
    int i = 1;
    int cnt = 0;
    long long sol = 0;
    for(int j = 1; j <= n; j++) {
        mp[a[j]]++;
        if(mp[a[j]] == 1) {
            cnt++;
        }
        while(cnt > x && i < j) {
            mp[a[i]]--;
            if(mp[a[i]] == 0) {
                cnt--;
            }
            i++;
        }
        sol += j - i + 1;
    }
    return sol;
}


int main() {
    ifstream cin("secv5.in");
    ofstream cout("secv.out");
    int l, u;
    cin >> n >> l >> u;
    for(int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    cout << solve(u) - solve(l - 1);
    return 0;
}