Pagini recente » Cod sursa (job #2463239) | Cod sursa (job #3219009) | Cod sursa (job #2404482) | Cod sursa (job #2737520) | Cod sursa (job #2518079)
#include <fstream>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
const int lim_n=5e5+5;
const int lim_k=1e5+4;
int v[lim_n],f[lim_k];
int main()
{
int n,k,a,b,ca,cb;
in>>n>>k>>a>>b;
ca=a;
cb=b;
for(int i=1;i<=n;++i)
{
in>>v[i];
v[i]%=k;
v[i]=(v[i-1]+v[i])%k;
}
for(int i=ca;i<=cb;++i)
f[v[i]]++;
long long int cnt=0;
for(int i=0;i<=n-a;++i)
{
cnt+=1LL*f[v[i]];
f[v[ca]]--;
ca++;
if(cb<n)
cb++,f[v[cb]]++;
}
out<<cnt;
return 0;
}