Pagini recente » Cod sursa (job #1801738) | Cod sursa (job #2364298) | Cod sursa (job #379941) | Cod sursa (job #761206) | Cod sursa (job #852724)
Cod sursa(job #852724)
#include <fstream>
#define NMAX 500005
using namespace std;
ifstream fin ("divk.in");
ofstream fout ("divk.out");
int n,a,b,d[NMAX],k,s[NMAX];
long long rez;
void tipar(int o)
{
int i; fout<<rez<<" "<<o<<"\n";
for(i=1;i<=n;i++) fout<<s[i]<<" ";
fout<<"\n";
for(i=1;i<=n;i++) fout<<d[i]<<" ";
fout<<"\n\n";
}
int main()
{
int i;
long long x;
fin>>n>>k>>a>>b;
for( i=1;i<=n;++i)
{
fin>>x;
s[i]=(s[i-1]+x)%k;
}
b++;
for(i=a;i<=n;i++)
{
++d[s[i-a]];
if (i>=b)
--d[s[i-b]];
rez+=d[s[i]];
//tipar(i);
}
// tipar();
fout<<rez;
return 0;
}