Cod sursa(job #1989752)

Utilizator math4Bornea Andrei Laurentiu math4 Data 8 iunie 2017 19:24:28
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
long s[500000],a,p[500000],n,k,b,i,j,l;
int main()
{
f>>n>>k>>a>>b;
for(i=1;i<=n;i++)
f>>p[i];
s[1]=p[1] %k;
l=0;
for(i=2;i<=n;i++)
{
s[i]=(s[i-1]+p[i]) %k;
if((s[i]==0)&& (i>=a) && (i<=b)) l++;
}

for(i=1;i<=n;i++)
{
if(i+b<=n)
{
for(j=i+a;j<=i+b;j++)
if(s[i]==s[j]) l++;
}
else if((i+b>n) && (i+a<=n))
{
for(j=i+a;j<=n;j++)
if(s[i]==s[j]) l++;
}
}
g<<l;
f.close();
g.close();
return 0;
}