Cod sursa(job #2254492)

Utilizator ciutanpCiuta Andrei Calin ciutanp Data 5 octombrie 2018 14:47:43
Problema Divk Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<bits/stdc++.h>

using namespace std;

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

int n,k,a,b,sol;
int dp[500001];
int fr[100001];
int main()
{
    f>>n>>k>>a>>b;
    for(int i=1;i<=n;++i)
    {
        int x;
        f>>x;
        dp[i]=x+dp[i-1];
    }
    for(int i=1;i<=n;++i)
    {
        if(i-b-1>=0)
            fr[dp[i-b-1]%k]--;
        if(i-a>=0)
            fr[dp[i-a]%k]++;
        sol+=fr[dp[i]%k];
    }
    g<<sol;
}