Pagini recente » Istoria paginii winter-challenge-2008/clasament | Autumn Warm Up 2007 | pisici | Diferente pentru arhiva-educationala intre reviziile 15 si 2 | Cod sursa (job #3227966)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
const int kmax=100000;
long long frekvencia[kmax+5];
vector<long long>v;
int main()
{
long long n,a,b,k,i,eredmeny;
fin>>n>>k>>a>>b;
v.resize(n+5);
v[0]=0;
for(int i=1;i<=n;i++){
fin>>v[i];
v[i]+=v[i-1];
}
eredmeny=0;
for(int i=0;i<=n;i++){
eredmeny+=frekvencia[v[i]%k];
if(i-a+1>=0) ++frekvencia[v[i-a+1]%k];
if(i-b>=0) --frekvencia[v[i-b]%k];
}
fout<<eredmeny;
return 0;
}