Pagini recente » Cod sursa (job #2413017) | Cod sursa (job #2958494) | Cod sursa (job #1310133) | Cod sursa (job #182187) | Cod sursa (job #3333521)
#include <iostream>
#include <unordered_map>
#include <fstream>
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
const int NMAX=(1<<20)+1;
int n,l,u,st;
unsigned int v[NMAX];
unordered_map<unsigned int,unsigned int> q;
long long ra(int x) {
q.clear();
st=1;
long long cate=0;
for(int i=1; i<=n; ++i) {
++q[v[i]];
while(x<q.size()) {
q[v[st]]--;
if(!q[v[st]]) {
q.erase(v[st]);
}
st++;
}
cate+=i-st+1;
}
return cate;
}
int main() {
f>>n>>l>>u;
for(int i=1; i<=n; ++i) {
f>>v[i];
}
g<<ra(u)-ra(l-1);
f.close();
g.close();
return 0;
}