Pagini recente » Cod sursa (job #2828917) | Cod sursa (job #1508461) | Cod sursa (job #1857188) | Cod sursa (job #1678201) | Cod sursa (job #689627)
Cod sursa(job #689627)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
const int N=500001;
const int K=100000;
int k,a,b,n;
int s[N];
long long rez;
vector <int> v[K];
int main(){
int i,j,k,x;
in>>n>>k>>a>>b;
for(i=1;i<=n;++i){
in>>x;
s[i]=(s[i-1]+x)%k;
v[s[i]].push_back(i);
}
for(i=0;i<v[0].size();++i){
if(v[0][i]>=a && v[0][i]<=b)
rez++;
}
for(i=0;i<k;++i){
for(j=0;j<v[i].size()-1;++j){
for(k=j+1;k<v[i].size();++k){
if(v[i][k]-v[i][j]>=a && v[i][k]-v[i][j]<=b)
rez++;
}
}
}
out<<rez;
return 0;
}