Cod sursa(job #1319124)

Utilizator diana-t95FMI Tudoreanu Diana Elena diana-t95 Data 16 ianuarie 2015 18:11:01
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
#define maxn (1<<20)+1
int L, U, n;
unsigned int a[maxn];
unordered_map<unsigned int, unsigned int> m;
unsigned int maxim(int nr)
{
    long long sol=0;
    int j=1, i;
    for (i=1;i<=n;i++)
    {
        m[a[i]]++;
        while (nr<m.size())
        {
            m[a[j]]--;
            if (m[a[j]]==0)
                m.erase(a[j]);
            j++;
        }
        sol+=(i-j+1);
    }
    return sol;
}
int main()
{
    ifstream r("secv5.in");
    ofstream w("secv5.out");
    r>>n>>L>>U;
    int i, ant=0, x, k=0, soll, solu;
    for (i=0;i<n;i++)
        r>>a[i];
    soll=maxim(L-1);
    m.clear();
    solu=maxim(U);
    w<<solu-soll<<'\n';
}