Cod sursa(job #793233)

Utilizator idomiralinIdomir Alin idomiralin Data 2 octombrie 2012 13:01:07
Problema Divk Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
# include <cstdio>

using namespace std;

int n, k, l, u, i, s;
long long val, v[500005], frecv[500005];
int main()
{
    freopen("divk.in","r",stdin);
    freopen("divk.out","w",stdout);
    
    scanf("%d%d%d%d",&n,&k,&l,&u);
    for (i = 1; i <= n; i++)
    {
        scanf("%lld",&val);
        v[i] = (v[i - 1] + val) % k;
        }
    
    for (i = l; i <= n; i++)
    {
        frecv[v[i - l]]++;
        if (i > u)
        frecv[v[i - u]]--;
        s += frecv[v[i]];
        }
    
    printf("%d",s);
    
return 0;
}