Cod sursa(job #3122331)

Utilizator RK13Barbu Eduard RK13 Data 18 aprilie 2023 16:47:56
Problema Secventa 5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("secv5.in");
ofstream g("secv5.out");

long long v[1050000],n;

long long pairs(int k)
{unordered_map<int,int> mp;
    long long st=0,dr,sol=0,cnt=0;
    for (dr=0;dr<n;dr++)
    {
        if (mp[v[dr]]==0)
            cnt++;
        mp[v[dr]]++;
        while (cnt>k && st<=dr)
        {
            mp[v[st]]--;
            if (mp[v[st]]==0)
                cnt--;
            st++;
        }
        sol+=dr-st+1;
    }
    return sol;
}

int main()
{long long l,u,x;
    f>>n>>l>>u;
    for (long long i=0;i<n;i++)
    {
       f>>v[i];
    }
    g<<pairs(u)-pairs(l-1);
}