Cod sursa(job #3280003)

Utilizator nistor_dora_valentinaNistor Dora Valentina nistor_dora_valentina Data 25 februarie 2025 10:31:09
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <map>

using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n, x, y, i, a[1500000];
int calcul(int val)
{
    int l=1, cnt=0;
    long long ans=0;
    map <int, int> mp;
    for(int r=1; r<=n; r++)
    {
        mp[a[r]]++;
        if(mp[a[r]]==1)
        {
            cnt++;
            while(cnt>val && l<=r)
            {
                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;
}