Pagini recente » Cod sursa (job #982199) | Cod sursa (job #1268687) | Cod sursa (job #2330082) | Cod sursa (job #1412615) | Cod sursa (job #2450510)
#include <fstream>
#include <unordered_map>
#define ll unsigned int
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
unordered_map <ll,ll> hs;
ll n, v[(1 << 20) + 1], r,l;
long long secv(int lungime)
{
hs.clear();
long long sol = 0;
int ultim = 1;
for(int i = 1; i <= n; ++i)
{
hs[v[i]]++;
while(lungime < hs.size())
{
hs[v[ultim]]--;
if(!hs[v[ultim]]) hs.erase(v[ultim]);
ultim++;
}
sol += i - ultim + 1;
}
return sol;
}
int main()
{
f >> n >> l >> r;
for(int i = 1; i <= n; ++i)
f >> v[i];
g << secv(r) - secv(l - 1);
f.close();
g.close();
return 0;
}