Cod sursa(job #3325865)

Utilizator Sebi_Ionescu17ionescu sebastian Sebi_Ionescu17 Data 26 noiembrie 2025 18:43:28
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>
using namespace std;
unordered_map<unsigned int, int> f;
unsigned int a[1048577]; // nr max de num(2^20)
int n;
ifstream fin("secv5.in");
ofstream fout("secv5.out");

long long secv(int c,unsigned int a[]) {
    long long ans=0;
    int L = 1, R, dist=0;
    for(R=1;R<=n;R++) {
        f[a[R]]++;
        if(f[a[R]]==1)
            dist++;

        while(L<= R&&dist>c) {
            f[a[L]]--;
            if(f[a[L]]==0) {
                f.erase(a[L]);
                dist--;
            }
            L++;

        }
        ans+=(R-L+1);
    }
    return ans;
}

int main() {


    int k,m;

    fin>>n>>k>>m;
    for(int i=1;i<=n;i++)
        fin>>a[i];

    fout<<secv(k,a)-secv(m-1,a);

    return -0;
}