Cod sursa(job #3274007)

Utilizator drsbosDarius Scripcaru drsbos Data 4 februarie 2025 19:19:26
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>
#include <stack>
#include <queue>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <set>
#include <cstring>
#include <map>
#include <string>
#include<iomanip>
#include<bitset>
#include<unordered_map>
#define oo 2000000000
#define MOD 777013
using namespace std;

ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long a[150585], l, u, n, k, rez;
unordered_map<long long, long long>m;
long long nrsecv(long long k)
{
    int i = 1, j = 1, cnt = 0,sum=0;
    m.clear();
    while (i <= n)
    {
        if (m[a[i]] == 0)
            cnt++;
        m[a[i]]++;
        
        
        if (cnt > k)
        {
            m[a[j]]--;
            if (m[a[j]] == 0)
            {
                cnt--;
            }
            j++;
        }
        sum += (i - j + 1);
        i++;

    }
  
    return sum;
}
int main()
{
    fin >> n >> l >> u;
    for (int i = 1; i <= n; i++)
    {
        fin >> a[i];
    }
    
    fout<<nrsecv(u)-nrsecv(l-1);
}