Pagini recente » Cod sursa (job #1459711) | Cod sursa (job #1399934) | Cod sursa (job #2971514) | Cod sursa (job #1524162) | Cod sursa (job #504019)
Cod sursa(job #504019)
#include <fstream>
using namespace std;
typedef long long int lli;
int const maxn=500*1000,maxk=100*1000;;
int S[maxn];lli C[maxk];
int main()
{ ifstream is("divk.in");
ofstream os("divk.out");
int N,K,A,B,i;lli s=0;is>>N>>K>>A>>B;
for(i=0;N>i;++i){is>>S[i];}S[0]%=K;
for(i=1;N>i;++i){S[i]=(S[i-1]+S[i])%K;}
for(i=0;K>i;++i){C[i]=0;}
for(i=A-1;N>i;++i)
{ if((B+1)<=i){--C[S[i-B-1]];}
if(A<=i){++C[S[i-A]];s+=C[S[i]];}
if(((A-1)<=i)&&(i<=(B-1))&&(0==S[i])){++s;}
}
os<<s<<endl;
return 0;
}