Pagini recente » Cod sursa (job #2080986) | Cod sursa (job #1863668) | Cod sursa (job #826937) | Cod sursa (job #1583207) | Cod sursa (job #1539122)
#include <fstream>
#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
int count_nr_shorter(const vector<unsigned int>& v, const int len){
int rez = 0;
unordered_map<unsigned int, int> nr_ap;
for(int 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");
int 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; }