Cod sursa(job #2471211)

Utilizator ruxiTTutunaru Ruxandra ruxiT Data 10 octombrie 2019 16:30:31
Problema Divk Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <iostream>
#include <fstream>

int v[500001];
int sum[500001];

using namespace std;

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

int main()
{
    int n, k, a, b, i, rez = 0, elem;
    fin >> n >> k >> a >> b;
    for (i = 1; i <= n; i++)
    {
        fin >> elem;
        sum[i] = (sum[i - 1] + elem) % k;
        if(i >= a)
        {
            v[sum[i-a]]++;
            if(i > b)
                v[sum[i-b-1]]--;
            rez += v[sum[i]];
        }
    }
    fout << rez;
    return 0;
}