Cod sursa(job #1704780)

Utilizator andrei20003Ionescu Andrei andrei20003 Data 19 mai 2016 12:06:25
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <fstream>

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

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

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 += (1LL * v[sum[i]]);
    }

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