Cod sursa(job #2152729)

Utilizator Stefan_RaduStefan Radu Stefan_Radu Data 5 martie 2018 19:19:11
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>

using namespace std;

ifstream cin ("divk.in");
ofstream cout ("divk.out");

int sp[500007];
int frecv[100007];

int main () {
  
  int n, k, a, b;
  cin >> n >> k >> a >> b;
  
  long long ans = 0;
  for (int i = 1; i <= n; ++ i) {
    int x;
    cin >> x;

    sp[i] = (sp[i - 1] + x) % k;

    if (i - a >= 0) {
      ++ frecv[sp[i - a]];
    }

    if (i - b - 1 >= 0) {
      -- frecv[sp[i - b - 1]];
    }

    ans += frecv[sp[i]];
  }

  cout << ans << '\n';
}