Cod sursa(job #1208244)

Utilizator mihaimusatMihai Musat mihaimusat Data 15 iulie 2014 11:16:51
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>

int v[500002],s[500002];
long long m[500002];

using namespace std;

int main()
{
    ifstream f("divk.in");
    ofstream g("divk.out");
    int n,k,a,b,i;
    long long sol=0;
    f>>n>>k>>a>>b;
    for(i=1;i<=n;i++)
        f>>v[i];
    for(i=1;i<=n;i++)
    {
        s[i]=s[i-1]+v[i];
        s[i]=s[i]%k;
    }
    for(i=1;i<=n;i++)
    {
        if(i-a>=0)
            m[s[i-a]]++;
        if(i-b>0)
            m[s[i-b-1]]--;
        sol+=m[s[i]];
    }
    g<<sol;
    return 0;
}