Cod sursa(job #2076866)

Utilizator ioana_marinescuMarinescu Ioana ioana_marinescu Data 27 noiembrie 2017 11:58:05
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <bits/stdc++.h>
const int MAX_N = 500005;
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");

long long sol;
int n, k, a, b, s[MAX_N], Dp[100005];

int main() {
    int i;
    fin>>n>>k>>a>>b;
    for(i=1; i<=n; i++) {
        fin>>s[i];
        s[i]=(s[i]+s[i-1])%k;
        if(i>b)
            Dp[s[i-b-1]]--;
        if(i>=a)
            Dp[s[i-a]]++;
        sol+=Dp[s[i]];
    }
    fout<<sol<<'\n';
    return 0;
}