Pagini recente » Cod sursa (job #3304303) | Diferente pentru problema/s2c intre reviziile 5 si 6 | Cod sursa (job #3339257) | Cod sursa (job #3348354) | Cod sursa (job #689636)
Cod sursa(job #689636)
#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;
if(s[i]==0 && i>=a && i<=b )
rez++;
v[s[i]].push_back(i);
}
for(i=0;i<=k;++i){
if(v[i].size()<=1)
continue;
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;
}