Pagini recente » Cod sursa (job #3320596) | Cod sursa (job #1960028) | Cod sursa (job #2091655) | Cod sursa (job #469711) | Cod sursa (job #3333520)
#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;
unsigned int ra(int x) {
q.clear();
st=1;
unsigned int 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;
}