Cod sursa(job #1342395)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 13 februarie 2015 23:01:53
Problema Divk Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#define nmax 500005
#define kmax 100005
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
long long sol;
int n,k,a,b;
int v[nmax];
int p[kmax];

int main()
{
    int i,j;
    f>>n>>k>>a>>b;
    for (i=1;i<=n;i++){
        f>>v[i];
        v[i]=v[i-1]+v[i];
        v[i]%=k;
    }
    for (i=1;i<=n;i++) {
        if (i-b>=1)
            p[v[i-b]]--;

        if (i-a>=1)
            p[v[i-a]]++;

        sol+=p[v[i]];
    }
    for (i=a;i<=b;i++)
        if (v[i]==0)
            sol++;

    g<<sol;

    return 0;
}