Pagini recente » Cod sursa (job #3276534) | Cod sursa (job #3153317) | Cod sursa (job #2342602) | Cod sursa (job #3158612) | Cod sursa (job #1052210)
#include <fstream>
#include <iostream>
const static int NMAX = 500001;
const static int KMAX = 100000;
using namespace std;
int sume[NMAX] , frecv[KMAX];
int N , K , A , B;
ifstream input("divk.in");
ofstream output("divk.out");
int main()
{
input >> N >> K >> A >> B;
int x;
register int i , sol = 0;
for (i = 1;i <= N ; i++)
{
input >> x;
sume[i] = (sume[i-1] + x) % K;
}
for (i = 1;i <= N ; i++)
{
if (i > A)
frecv[sume[i - A - 1]]++;
if (i > B)
frecv[sume[i - B - 1]]++;
sol += frecv[sume[i]];
}
output << sol;
input.close();
output.close();
return 0;
}