Pagini recente » Cod sursa (job #388615) | Cod sursa (job #2437553) | Rating Andrei Ardeleanu (Andrei2138) | Istoria paginii utilizator/carina.ceausescu | Cod sursa (job #1574974)
#include<fstream>
#define NMax 500005
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
long long Sol;
int N,K,A,B;
int S[NMax],R[NMax/5];
int main()
{
fin>>N>>K>>A>>B;
for(int i=1;i<=N;++i)
{
fin>>S[i];
S[i]=(S[i]+S[i-1])%K;
if(i>=A) ++R[S[i-A]];
if(i>B) --R[i-B-1];
Sol+=R[S[i]];
}
fout<<Sol<<"\n";
fin.close();
fout.close();
return 0;
}