Cod sursa(job #3280001)

Utilizator nistor_dora_valentinaNistor Dora Valentina nistor_dora_valentina Data 25 februarie 2025 10:27:32
Problema Secventa 5 Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <map>
#define int long long
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n, x, y, i, a[1500005];
int calcul(int val)
{
    int l=1, ans=0, cnt=0;
    map <int, int> mp;
    for(int r=1; r<=n; r++)
    {
        mp[a[r]]++;
        if(mp[a[r]]==1)
         cnt++;
        while(cnt>val)
        {
            mp[a[l]]--;
            if(mp[a[l]]==0)
            cnt--;
            l++;
        }
        ans+=r-l+1;
    }
    return ans;
}
signed main()
{
    fin>>n>>x>>y;
    for(i=1; i<=n; i++)
        fin>>a[i];
    fout<<calcul(y)-calcul(x-1);
    return 0;
}