Cod sursa(job #1027642)

Utilizator andreiblaj17Andrei Blaj andreiblaj17 Data 12 noiembrie 2013 21:40:08
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <iostream>
#include <fstream>
#define nmax 500001

using namespace std;

ifstream in("divk.in");
ofstream out("divk.out");

int n,k,a,b,i,x,j;
long s[nmax],f[nmax],num=0;

int main(){
    
    in >> n >> k >> a >> b;
    
    for (i=1; i<=n; i++)
        in >> s[i], s[i]=(s[i-1]+s[i])%k;
    
    for (i=a; i<=n; i++){
        f[s[i-a]]++;
        if (i>b) f[s[i-b-1]]--;
        num+=f[s[i]];
    }
    
    out << num << "\n";
    
    return 0;
}