Pagini recente » Cod sursa (job #548380) | Cod sursa (job #1000251) | Cod sursa (job #1688933) | Cod sursa (job #1491717) | Cod sursa (job #2884326)
#include <iostream>
#include <bits/stdc++.h>
#include <fstream>
#include <map>
using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
const int mod = 666013;
map<int, int> m1,m2;
vector<int> v1;
int main() {
long long l, u, n;
int x;
in >> n ;
in>> l >> u;
for (int i = 0; i < n; i++) {
in>>x;
v1.push_back(x);
}
long long s=0, cntU=0, cntL=0;
for (int i=0; i<n; i++) {
m1.insert(pair<int,int>(v1[i],v1[i]));
while(m1.size()>u)
m1.erase(v1[s++]);
cntU += (i-s+1);
}
s = 0;
for (int i=0; i<n; i++) {
m2.insert(pair<int,int>(v1[i],v1[i]));
while(m2.size()>=l)
m2.erase(v1[s++]);
cntL += (i-s+1);
}
cout<<cntU<<" "<<cntL<<endl;
cout<< cntU - cntL;
return 0;
}