Cod sursa(job #2258492)

Utilizator NashikAndrei Feodorov Nashik Data 11 octombrie 2018 15:49:39
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
//#include <iostream>
//#include <fstream>
#include <cstdio>
using namespace std;
//ifstream cin("divk.in");
//ofstream cout("divk.out");
int n,k,nr1,nr2;
long long a[500005],nr;
int s[100005];
int main()
{
    freopen("divk.in","r",stdin);
    freopen("divk.out","w",stdout);
    int i,j,x;
    //cin>>n>>k>>nr1>>nr2;
    scanf("%d%d%d%d", &n,&k,&nr1,&nr2);
    for(i=1;i<=n;i++){
        //cin>>x;
        scanf("%d",&x);
        a[i]=a[i-1]+x;
        if(i-nr2-1>=0)
            s[a[i-nr2-1]%k]--;
        if(i-nr1>=0){
            s[a[i-nr1]%k]++;
            nr+=s[a[i]%k];
        }
    }
    //cout<<nr;
    printf("%d",nr);
    return 0;
}

//8 4 9 8 2 9 2 9 9 4 7 8 6 9 5 6 4 7 7 8 9 9 9 6 9 9 8 7 6 7 7 7 9 7



//8 4 9 0 8 2 7 2 1 1 9 1 8 4 7 8 0 6 7 2 2 0 3 6 4 7 7 0 8 4 5 9 2 7 6 4 5 9 6 1 1 0 7 6 7 7 7 9 4 3