Pagini recente » Cod sursa (job #987614) | Cod sursa (job #2422927) | Cod sursa (job #104158) | Cod sursa (job #359917) | Cod sursa (job #660966)
Cod sursa(job #660966)
#include <fstream>
#define l 100005
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
int H[l][50];
long long S,k,n,A,lim,B,i,rez,x;
long long bag(long long val,long long poz)
{
long long R=val%k;
p++;
H[R][p]=poz;
}
long long sum(long long val,long long lo,long long hi)
{
long long R=val%k,p=0,s=0;
for(; H[R][p]&&H[R][p]<=hi; p++) if (H[R][p]>=lo&&H[R][p]<=hi) s++;
return s;
}
int main()
{
f>>n>>k>>A>>B;
for(i=1; i<=n; i++)
{
f>>x;
S+=x;
if (S%k==0&&i>=A&&i<=B) rez++;
rez+=sum(S,i-B,i-A);
bag(S,i);
}
g<<rez;
f.close();
g.close();
return 0;
}