Cod sursa(job #3202733)
| Utilizator | Data | 12 februarie 2024 11:09:48 | |
|---|---|---|---|
| Problema | Divk | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
long long n,a,b,k,nr=0,v[500001],f[500001];
int main()
{
in>>n>>k>>a>>b;
for(int i=1;i<=n;i++)
{
in>>v[i];
}
for(int i=1;i<=n;i++)
{
v[i]=v[i-1]+v[i];
v[i]%=k;
}
for(int i=1;i<=n;i++)
{
if(i>=a)
f[v[i-a]]++;
nr+=f[v[i]];
if(i>=b)
f[v[i-b]]--;
}
out<<nr;
return 0;
}
