Cod sursa(job #2816595)
| Utilizator | Data | 11 decembrie 2021 18:06:59 | |
|---|---|---|---|
| Problema | Divk | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <bits/stdc++.h>
using namespace std;
int n,v[500005],F[100005],sum[500005],k,a,b;
long long rez;
ifstream fin("divk.in");
ofstream fout("divk.out");
int main()
{
fin>>n>>k>>a>>b;
for (int i=1;i<=n;i++) fin>>v[i];
for (int i=1;i<=n;i++)
sum[i]=(sum[i-1]+v[i])%k;
for (int dr=1;dr<=n;dr++)
{
if (dr-a>=0)
F[sum[dr-a]]++;
if (dr-b-1>=0)
F[sum[dr-b-1]]--;
rez+=F[sum[dr]];
}
fout<<rez;
}
