Cod sursa(job #2618025)

Utilizator Sebastian27Marcu Sebastian Sebastian27 Data 23 mai 2020 15:27:33
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
const int N=500005;
int sp[N], divk[N];
int main()
{
    int x, n, i, k, a, b, poz;
    long long sum=0;
    in>>n>>k>>a>>b;
    for (i=1; i<=n; i++)
    {
        in>>x;
        sp[i]=sp[i-1]+x;
        sp[i]%=k;
    }
    i=1;
    while (i<=n)
    {
        if (i>=a)
        {
            poz=i-a;
            divk[sp[poz]]++;
        }
        if (i>b)
        {
            poz=i-b-1;
            divk[sp[poz]]--;
        }
        sum+=divk[sp[i]];
        i++;
    }
    out<<sum<<'\n';
    return 0;
}