Cod sursa(job #1186394)

Utilizator andi23roscaRosca Andrei andi23rosca Data 17 mai 2014 13:04:03
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <cstdio>
#define maxn 500010

using namespace std;

FILE *f, *g;

long long int n,k,a,b,x,i,v[maxn],r[maxn],s=0;

int main()
{
    f = fopen ("divk.in","r");
    g = fopen ("divk.out", "w");
    fscanf (f, "&lld&lld&lld&lld",&n,&k,&a,&b);
    for(i=1;i<=n;i++)
    {
        fscanf (f,"%lld",&x);
        v[i] = (v[i-1] + x) % k;
    }
    for(i=1;i<=n;i++)
    {
        if(i>=a)
            r[v[i-a]]++;
        if(i>b)
            r[v[i-b-1]]--;
        s+=r[v[i]];
    }
    fprintf (g, "%lld", s);
}