Cod sursa(job #1954125)
Utilizator | Data | 5 aprilie 2017 10:50:21 | |
---|---|---|---|
Problema | Divk | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <iostream>
#include <cstdio>
#define ULL unsigned long long
using namespace std;
ULL dp[500002];
int main()
{
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
int n,k,a,b;
scanf("%d %d %d %d", &n, &k, &a, &b);
for(int i=1;i<=n;i++)
{
int x; scanf("%d", &x);
ULL t=x;
dp[i]=dp[i-1]+t;
}
ULL sol=0;
for(int l=a;l<=b;l++)
{
for(int i=l;i<=n;i++)
{
if((dp[i]-dp[i-l])%k==0)
sol++;
}
}
printf("%I64d\n", sol);
fclose(stdin);
fclose(stdout);
return 0;
}