Pagini recente » Cod sursa (job #1470262) | Cod sursa (job #2535529) | Cod sursa (job #2884446) | Cod sursa (job #1785162) | Cod sursa (job #2338513)
#include <fstream>
#define MAXN 500000
#define MAXM 100000
using namespace std;
ifstream fin( "divk.in" );
ofstream fout( "divk.out" );
int v[MAXN+5], f[MAXM+5];
int main()
{
int n, m, a, b;
fin>>n>>m>>a>>b;
for( int i=1;i<=n;i++ )
{
fin>>v[i];
v[i]=(v[i]+v[i-1])%m;
}
for( int i=a;i<=b;i++ )
f[v[i]]++;
long long ans=0;
for( int i=0;a<=n;i++ )
{
ans+=f[v[i]];
f[v[a]]--;
if( b+1<=n )
f[v[b+1]]++;
a++;
b++;
}
fout<<ans;
return 0;
}