Cod sursa(job #942410)

Utilizator crisbodnarCristian Bodnar crisbodnar Data 22 aprilie 2013 12:28:09
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("divk.in");
ofstream fout("divk.out");

int n, k, a, b;
int sum[500006];
int fr[100000];
long long sol;

int main()
{
    fin>>n>>k>>a>>b;
    long x;
    for(int i=1; i<=n; i++){
        fin>>x;
        sum[i] = (sum[i-1] + x) % k;
    }

    fr[0] = 1;
    for(int i=a; i<=n; i++){
        sol = sol + fr[sum[i]];
        if(i >= b) fr[sum[i-b]]--;
        fr[sum[i-a+1]]++;
    }
    fout<<sol;
    return 0;
}