Pagini recente » Cod sursa (job #1927748) | Cod sursa (job #1719556) | Cod sursa (job #1144625) | Cod sursa (job #713400) | Cod sursa (job #1482372)
#include <fstream>
#include <vector>
using namespace std;
int main(){
ifstream f("divk.in");
ofstream g("divk.out");
int n, k, a, b;
f >> n >> k >> a >> b;
vector<int> s_part(n+1, 0);
for(int i = 1; i <= n; ++i){
f >> s_part[i];
s_part[i] %= k;
s_part[i] += s_part[i-1];
s_part[i] %= k; }
vector<int> nr_aparitii(k, 0);
unsigned long long rez = 0;
for(int i = 1; i <= n; ++i){
if(i - a >= 0){
++nr_aparitii[s_part[i-a]]; }
if(i - b - 1 >= 0){
--nr_aparitii[s_part[i-b-1]]; }
rez += nr_aparitii[s_part[i]]; }
g << rez;
return 0; }