Cod sursa(job #2067233)

Utilizator tiberiu392Tiberiu Ungurianu tiberiu392 Data 16 noiembrie 2017 00:56:45
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<fstream>

using namespace std;

ifstream f("divk.in");
ofstream g("divk.out");

long long s[500010], i, j, x;
long long n , k , a , b , rest[100010]={1} , nr ;

int main()
{
    f>>n>>k>>a>>b;
    for(i=1 ; i<=n ; i++)
    {
        f>>x;
        s[i]=s[i-1]+x;
    }
    if(s[a]%k==0)
        nr++;
    for( i=a+1;i<=n;i++)
    {
        if(i>b)
            {
                rest[s[i-b-1]%k]--;
            }
        rest[s[i-a]%k]++;
        nr+=rest[s[i]%k];
    }
    g<<nr<<'\n';
}