Cod sursa(job #2462707)

Utilizator vladth11Vlad Haivas vladth11 Data 27 septembrie 2019 18:57:51
Problema Divk Scor 90
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>
#define whatis(x) cerr << #x << " " << x << "\n";
using namespace std;
int a,b;
int f[100001];
int s[500001];
int main()
{
    ifstream cin("divk.in");
    ofstream cout("divk.out");
    int i,n,k,x,cnt = 0;
    cin >> n >> k >> a >> b;
    for(i = 1;i <= n;i++){
        cin >> x;
        s[i] = s[i - 1];
        s[i] += 1LL * x;
        s[i] %= k;
        if(i >= a){
            f[s[i - a]]++;
        }
        if(i > b){
            f[s[i - b - 1]]--;
        }
        cnt += 1LL * f[s[i]];

    }
    cout <<cnt;
    return 0;
}