Cod sursa(job #1989749)
| Utilizator | Data | 8 iunie 2017 19:20:52 | |
|---|---|---|---|
| Problema | Divk | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 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)
{
for(j=i+a;j<=n;j++)
if(s[i]==s[j]) l++;
}
}
g<<l;
f.close();
g.close();
return 0;
}
