Cod sursa(job #3202737)
Utilizator | Roman Alex CheeseEaterHack | Data | 12 februarie 2024 11:10:27 |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int main()
{
long long int n, a, b, k, v[500001], st=1, dr=1, l, s=0, fr[100001], cnt=0;
fin>>n>>k>>a>>b;
for (int i=1; i<=n; i++)
{
fin>>v[i];
}
for (int i=1; i<=n; i++)
{
v[i]=v[i-1]+v[i];
v[i]=v[i]%k;
}
for (int i=1; i<=n; i++)
{
if (i>=a)
{
fr[v[i-a]]++;
}
if (i>b)
{
fr[v[i-b-1]]--;
}
cnt=cnt+fr[v[i]];
}
fout<<cnt;
return 0;
}