Pagini recente » Cod sursa (job #2804261) | Cod sursa (job #3287253) | Cod sursa (job #832797) | Cod sursa (job #1530011) | Cod sursa (job #1822642)
#include <bits/stdc++.h>
#define NMAX 500005
#define BMAX 500000
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int V[NMAX],e = BMAX - 1;
char buffer[BMAX + 1];
void parsare(int &x){
bool semn = 0;
while(!isdigit(buffer[e])){
if(buffer[e] == '-')
semn = 1;
if(++e == BMAX){
fin.read(buffer,BMAX);
e = 0;
}
}
x = 0;
while(isdigit(buffer[e])){
x = x * 10 + buffer[e] - '0';
if(++e == BMAX){
fin.read(buffer,BMAX);
e = 0;
}
}
if(semn == 1)
x = -x;
}
int main()
{
ios :: sync_with_stdio(false);
fin.tie(NULL);
int n,a,b,k;
long long sol = 0;
// fin >> n >> k >> a >> b;
parsare(n); parsare(k); parsare(a); parsare(b);
for(int i = 1; i <= n; i++){
parsare(V[i]);
// fin >> V[i];
V[i] += V[i - 1];
}
for(int i = a; i <= n; i++){
for(int j = i - a + 1; j >= i - b + 1 && j >= 1; j--){
if((V[i] - V[j - 1]) % k == 0){
sol ++;
}
}
}
fout << sol;
return 0;
}