Pagini recente » preONI 2008 - Clasament Runda Finala, Clasa a 10-a | Cod sursa (job #781003) | Cod sursa (job #53817) | Monitorul de evaluare | Cod sursa (job #2479125)
#include<fstream>
#include<unordered_map>
using namespace std;
const int NMAX=(1<<20)+10;
int n;
unsigned int v[NMAX];
long long nr_secv(const int &lg){
long long nr_sol=0;
unordered_map <unsigned int, int> mp;
for(int i=1,j=1;j<=n;j++){
mp[v[j]]++;
while(i<=n && (int)mp.size()>lg){
mp[v[i]]--;
if(mp[v[i]]==0)
mp.erase(v[i]);
i++;
}
nr_sol=1LL*nr_sol+j-i+1;
}
return nr_sol;
}
int main(){
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int l,u;
fin>>n>>l>>u;
for(int i=1;i<=n;i++)
fin>>v[i];
fout<<nr_secv(u)-nr_secv(l-1);
return 0;
}