Cod sursa(job #2156631)

Utilizator Constantin.Dragancea Constantin Constantin. Data 8 martie 2018 21:23:59
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <bits/stdc++.h>
using namespace std;

int n, k, a, b, dp[500010], rest[100010];
long long ans;

int main(){
    ifstream cin ("divk.in");
    ofstream cout ("divk.out");
    cin >> n >> k >> a >> b;
    for (int i=1; i<=n; i++){
        cin >> dp[i];
        dp[i] = (dp[i] + dp[i-1])%k;
        if (i >= a) rest[dp[i - a]]++;
        if (i - b >= 1) rest[dp[i - b - 1]]--;
        ans += rest[dp[i]];
    }
    cout << ans;
    return 0;
}