Cod sursa(job #1857979)

Utilizator valentinoMoldovan Rares valentino Data 26 ianuarie 2017 21:52:46
Problema Divk Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include <fstream>
using namespace std;

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

int n, s[500005],k,a,b,x, v[100005];
long long int sol;
int main()
{
    f >> n >> k >> a >> b;
    for(int i = 1; i <= n; ++i)
    {
        f >> x;
        s[i] = (s[i-1] + x) % k;
    }
    for(int i = a; i <= n; ++i)
    {
        v[s[i-a]]++;
        if(i > b) v[s[i - b + 1]]--;
        sol += v[s[i]];
    }
    g << sol;
}