Cod sursa(job #2462715)

Utilizator Davla2Stancu Vlad Davla2 Data 27 septembrie 2019 18:59:43
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>

using namespace std;

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

int sum[500001],nr[500001];

int main()
{
    long long n,k,a,b,rez=0,v;
    in>>n>>k>>a>>b;
    for(int i=1; i<=n; i++)
    {
        in>>v;
        sum[i]=(sum[i-1]+v)%k;
    }
    for(int i=a; i<=b; i++)
    {
        nr[sum[i-a]]++;
        rez+=nr[sum[i]];
    }
    for(int i=b+1; i<=n; i++)
    {
        nr[sum[i-a]]++;
        nr[sum[i-b-1]]--;
        rez+=nr[sum[i]];
    }
    out<<rez;
    return 0;
}