Cod sursa(job #3171225)

Utilizator Mihai00700Mihai Ghetu Mihai00700 Data 18 noiembrie 2023 16:11:33
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <unordered_map>
#define NMAX 1100000
using namespace std;
int v[NMAX + 1], n;
int cate(int max){
  unordered_map<int, int> frq;
  int l = 1, dis = 0, cnt = 0;
  for(int r = 1;r <=n;r++){
    if(++frq[v[r]] == 1){
      while(++dis > max){
        if(--frq[v[l]] == 0){
          dis--;
        }
        l++;
      }
    }
      cnt+= r - l + 1;
  }
  return cnt;
}
int main(){
    int x, y, i;
    ifstream cin("secv5.in");
    cin>>n>>x>>y;
    for(i=1;i<=n;i++){
      cin>>v[i];
    }
    cin.close();
    ofstream cout("secv5.out");
    cout<<cate(y) - cate(x - 1);
    cout.close();
    return 0;
}