Cod sursa(job #1309027)

Utilizator ZeBuGgErCasapu Andreas ZeBuGgEr Data 5 ianuarie 2015 08:42:58
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#define MaxN 500013
#define MaxK 100013

using namespace std;

FILE *fin=freopen("divk.in","r",stdin);
FILE *fout=freopen("divk.out","w",stdout);

long long int Sum[MaxN], F[MaxK];
long long int n, k, a, b, cnt;


void Read()
{
    scanf("%lld%lld%lld%lld", &n, &k, &a, &b);

    int x;
    for(int i = 1;  i <= n ; ++i )
    {
        scanf("%lld", &x);
        Sum[i] = Sum[i - 1] + x;
        Sum[i] %= k;
    }
}

void Solve_Dynamic()
{
    for(int i = 1 ; i <= n ; ++i )
    {
        if( i >= a )
            ++F[Sum[i - a]];
        if( i > b )
            --F[Sum[i - b - 1]];
        cnt += F[Sum[i]];
    }
    printf("%lld", cnt);
}

int main()
{
    Read();