Pagini recente » Cod sursa (job #1935746) | Cod sursa (job #2794224) | Cod sursa (job #2697302) | Cod sursa (job #2587320) | Cod sursa (job #791347)
Cod sursa(job #791347)
#include <iostream>
#include <fstream>
using namespace std;
#define NMAX 500005
int N, K, A, B, X[NMAX];
long long sum[NMAX];
void precompute()
{
sum[0] = 0;
sum[1] = X[1];
for(int i = 1; i <= N; ++i)
sum[i] = sum[i-1] + X[i];
}
long long solve(int n)
{
long long nr = 0;
for(int i = 1; i <= n; ++i)
{
for(int j = 1; (j + i - 1) <= n; ++j)
{
long long s = sum[j + i - 1] - sum[j - 1];
if(s % K == 0)
++nr;
}
}
return nr;
}
int main()
{
ifstream in("divk.in");
ofstream out("divk.out");
in >> N >> K >> A >> B;
for(int i = 1; i <= N; ++i)
in >> X[i];
precompute();
out << solve(N) - solve(K - 1);
return 0;
}