Cod sursa(job #3120389)

Utilizator RK13Barbu Eduard RK13 Data 6 aprilie 2023 11:49:01
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.95 kb
#include <bits/stdc++.h>

using namespace std;

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

int v[1100001],n;

int pairs(int k)
{unordered_map<int,int> mp;
    int 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()
{int l,u,x;
    f>>n>>l>>u;
    for (int i=0;i<n;i++)
    {
       f>>v[i];
    }
    g<<pairs(u)-pairs(l-1);
}
/*set <long long> s;
set <long long>::iterator it;
int main()
{long long n,m,a,b,c,d,e,cnt=2,i,x,nr=0;
    ///citire date, creare set
    f>>n>>m>>a>>b>>c>>d>>e;
    for (i=1;i<=n;i++)
    {
        f>>x;
        s.insert(x);
    }
    ///verificare manuala pt a si b
    it=s.find(a);
    if (it!=s.end())
    {
        nr++;
        s.erase(it);
    }
    //cout<<"OK"<<'\n';
    it=s.find(b);
    if (it!=s.end())
    {
        nr++;
        s.erase(it);
    }
    ///creeaza noul element, retine cele mai noi 2 elemente
    //cout<<"OK"<<'\n';
    while (!s.empty() && cnt!=m)
    {
        //cout<<"stuck?"<<'\n';
        x=(a*c+b*d)%e;
        it=s.find(x);
        if (it!=s.end())
        {
            nr++;
            s.erase(it);
        }
        a=b;
        b=x;
        cnt++;
    }
    g<<nr;
}
*/
/*unordered_map<int,int> mp;
unordered_map<int,int>::iterator itr;
int n,m;

int main()
{int x,y,i,j;
    f>>n;
    for (i=0;i<n;i++)
    {
        f>>m;
        for (j=0;j<m;j++)
        {
            f>>x>>y;
            if (mp.find(x)!=mp.end())
                mp[x]+=y;
            else
                mp[x]=y;
        }
    }
    g<<mp.size()<<'\n';
    for (itr=mp.begin();itr!=mp.end();itr++)
    {
        g<<itr->first<<' '<<itr->second<<' ';
    }
}*/