Pagini recente » Cod sursa (job #1719609) | Cod sursa (job #1961578) | Borderou de evaluare (job #3142202) | Cod sursa (job #2825994) | Cod sursa (job #1011259)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
int i,n,k,a,b,el,ap[100005],s[500005],sol;
int main()
{ f>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{ f>>el;
s[i]=(s[i-1]+el)%k;
if (!s[i] && i>=a && i<=b) sol++;
if (i-b-1>0) ap[s[i-b-1]]--;
if (i>a) ap[s[i-a]]++;
sol+=ap[s[i]];
}
g<<sol;
return 0;
}