Cod sursa(job #2923657)

Utilizator AlexandruBenescuAlexandru Benescu AlexandruBenescu Data 17 septembrie 2022 15:19:23
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <bits/stdc++.h>
#define L 500005
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
long long v[L];
int vf[L];
int main(){
  int n, k, a, b, i;
  long long ans = 0;
  fin >> n >> k >> a >> b;
  for (i = 1; i <= n; i++){
    fin >> v[i];
    v[i] = (v[i - 1] + v[i]) % k;
    if (i >= a)
      vf[v[i - a]]++;
    if (i > b)
      vf[v[i - b - 1]]--;
    ans += vf[v[i]];
  }
  fout << ans << "\n";
  return 0;
}