Cod sursa(job #1831068)

Utilizator mateilmatei lascu mateil Data 17 decembrie 2016 13:56:01
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <fstream>

using namespace std;
int r[500000],s[500000],fr[100000];
int main()
{
    ifstream f("divk.in");
    ofstream g("divk.out");
    int n,k,i,x,a,b,cs,d;
    long long sec = 0;
    f>>n>>k>>a>>b;
    for(i = 1; i <= n; i++)
    {
        f>>x;
        r[i] = x % k;
        s[i] = (s[i - 1] + r[i]) % k;
        if(i >= a)
            fr[s[i - a]]++;
        if(i > b)
            fr[s[i - b - 1]]--;
        sec+= fr[s[i]];
    }
    g<<sec;
    return 0;
}