Cod sursa(job #793233)
Utilizator | Idomir 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;
}