Cod sursa(job #1076364)

Utilizator XeBluePodaru Mihai XeBlue Data 10 ianuarie 2014 02:07:44
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
using namespace std;

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

#define NMAX 500001
#define RMAX 100000

int n, k, a, b, r[NMAX], ap[RMAX];
long long solutions;

int main()
{
    in >> n >> k >> a >> b;

    for(int i=1;i<=n;i++)
    {
        in >> r[i];
        r[i]=(r[i-1]+r[i])%k;
        if(i>=a)
            ap[r[i-a]]++;
        if(i>b)
            ap[r[i-b-1]]--;
        solutions+=ap[r[i]];
    }

    out << solutions;

    in.close();
    out.close();
    return 0;
}