Cod sursa(job #3316948)

Utilizator ana.veronica13Ana Veronica Draghici ana.veronica13 Data 21 octombrie 2025 15:04:11
Problema Divk Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

#define MAX_N 500001
#define MAX_K 100001

int s[MAX_N], f[MAX_K];

int main(){
    ifstream cin( "divk.in" );
    ofstream cout( "divk.out" );
    int n, i, ans, x, a, b, k;
    cin >> n >> k >> a >> b;
    for( i = 1; i <= n; i++ ){
        cin >> x;
        s[i] = s[i - 1] + x;
        s[i] %= k;
    }
    for( i = a; i <= b; i++ ){
        f[s[i]]++;
    }
    ans = 0;
    for( i = 1; i <= n; i++ ){
        ans += f[s[i]];
        if( i + a - 1 <= n )
          f[s[i + a - 1]]--;
        if( i + b <= n )
          f[s[i + b]]++;
    }
    
  //  1 2 3 4 5 6 7 8 9 10
    cout << ans;
    return 0;
}