Pagini recente » Cod sursa (job #2974295) | Cod sursa (job #2830245) | Cod sursa (job #1496) | Cod sursa (job #1956719) | Cod sursa (job #1525161)
#include <fstream>
#include <cstring>
#include <map>
#define NMAX 1500000
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
long long n , p , u , v[NMAX] , sol[NMAX];
map <long long , long long> c;
long long solve(long long val);
int main() {
f >> n >> p >> u;
for(int i = 1 ; i <= n ; ++i) {
f >> v[i];
}
g << solve(u) - solve(p - 1);
return 0;
}
long long solve(long long val) {
long long ans = 0 , nr = 1;
if(val == 0) {
return 0;
}
c.clear();
for(int i = 1 ; i <= n ; ++i) {
++c[v[i]];
while(c.size() > val) {
--c[v[nr]];
if(c[v[nr]] == 0) {
c.erase(v[nr]);
}
++nr;
}
ans = ans + (i - nr + 1);
}
return ans;
}