Cod sursa(job #1704309)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 18 mai 2016 16:26:26
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <bits/stdc++.h>

#define NMax 500005
#define ll long long
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");

ll n,k,x,y,a,ANS;
ll v[NMax],sum[NMax];

int main()
{
    f >> n >> k >> x >> y;
    for(int i = 1; i <= n; ++i){
        f >> a;
        sum[i] = (sum[i - 1] + a) % k;
        if(i >= x)
            v[sum[i - x]] ++;
        if(i > y)
            v[sum[i - y - 1]]--;
        ANS += v[sum[i]];
    }

    g << ANS << '\n';
    return 0;
}