Nu aveti permisiuni pentru a descarca fisierul grader_test10.in
Cod sursa(job #2889261)
Utilizator | Data | 12 aprilie 2022 15:29:32 | |
---|---|---|---|
Problema | Secventa 5 | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.23 kb |
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
unordered_map <int, int> map;
long long v[1048580];
long long n, l, u, x;
long long f(int nr)
{
int lung = 0;
long long secvu = 0;
int i = 0, j = 0;
while( j < n)
{
if(map[v[j]] == 0){
lung ++;
map[v[j]] = 1;
}
else {
map[v[j]] ++;
}
while(lung > nr)
{
map[v[i]] --;
if(map[v[i]] == 0)
{
lung --;
map.erase(v[i]);
}
i ++;
}
secvu += (j - i + 1);
j ++;
}
map.clear();
return secvu;
}
int main()
{
fin >> n >> l >> u;
for(int i = 0; i <= n; i ++)
fin >> v[i];
fout << f(u) - f(l - 1);
// fout << secvu << '\n';
// fout << secvl;
// while( lung <= u)
// {
// int i = 0;
// if(map.size() == 0)
// {
// map[0] = v[];
// i++;
// }
// else if(map[i - 1] == x)
// {
// lg[lung] ++;
// }
// else if(map[i - 1] != x)
// {
// lg[lung] += i;
// }
// }
}