Cod sursa(job #2233238)

Utilizator Alexandru_StoianStoian Sorin Alexandru Alexandru_Stoian Data 22 august 2018 17:49:23
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <unordered_map>

using namespace std;

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

int n,l,u;
int a[1048580];

int dist(int x);

int main(){
    f>>n>>l>>u;
    for(int i=1; i<=n; ++i)
        f>>a[i];
    long long  capat1, capat2;
    capat1=dist(l-1);
    capat2=dist(u);
    g<<capat2-capat1<<'\n';
    return 0;
}

int dist(int t){
    unordered_map<int,int>m;

    int i,j;
    int sol=0;

    i=1;
    for(j=1; j<=n; ++j){
        m[a[j]]++;
        while(m.size()>t){
            m[a[i]]--;
            if(m[a[i]]==0)m.erase(a[i]);
            ++i;
        }
        sol=sol-i+j+1;
    }
    return sol;
}