Cod sursa(job #2268304)

Utilizator toadehuPuscasu Razvan Stefan toadehu Data 24 octombrie 2018 17:49:39
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>

using namespace std;

long long n,k,a,b,sol;
long long dp[500005];
int fr[100005];

int main()
{
    ifstream fin("divk.in");
    ofstream fout("divk.out");
    fin>>n>>k>>a>>b;
    for(int i=1; i<=n; ++i)
    {
        int x;
        fin>>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];
    }
    fout<<sol;
}