Pagini recente » Cod sursa (job #2809438) | Cod sursa (job #2175691) | Cod sursa (job #1643431) | Cod sursa (job #3252924) | Cod sursa (job #1328470)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iomanip>
#include <cmath>
#include <map>
#include <vector>
#define punct pair<int,int>
#define eps 0.0000000000001
#define MOD 1000000007
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
int v[500001];
int fv[100001],i,j,n,m,A,B,k,x,mod;
long long int rasp;
int main()
{
/*ios_base::sync_with_stdio(false);
#ifndef ONLINE_JUDGE
ifstream cin(".in");
ofstream cout(".out");
#endif*/
f>>n>>k>>A>>B;
for (i=1;i<=n;++i)
{
f>>x;
v[i]=(v[i-1]+x)%k;
}
for(i=A;i<=n;++i)
{
++fv[v[i]];
if (i>B)
{
--fv[v[i-(B-A+1)]];
mod=(mod+v[i-(B-A+1)])%k;
}
rasp+=fv[(v[i]+mod)%k];
}
g<<rasp;
return 0;
}