Pagini recente » Cod sursa (job #1560253) | Cod sursa (job #2416742) | Cod sursa (job #1014037) | Cod sursa (job #1004824) | Cod sursa (job #1539125)
#include <fstream>
#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
long long count_nr_shorter(const vector<unsigned int>& v, const long long len){
long long rez = 0;
unordered_map<unsigned int, int> nr_ap;
for(long long dr = 0, st = 0; dr < v.size(); ++dr){
++nr_ap[v[dr]];
while(nr_ap.size() > len){
--nr_ap[v[st]];
if(nr_ap[v[st]] == 0){
nr_ap.erase(v[st]); }
++st; }
rez += dr-st+1; }
return rez; }
int main(){
ifstream f("secv5.in");
ofstream g("secv5.out");
long long n, l, u;
f >> n >> l >> u;
vector<unsigned int> v(n);
for(auto& x : v){
f >> x; }
g << count_nr_shorter(v, u) - count_nr_shorter(v, l-1);
return 0; }