Cod sursa(job #565538)
| Utilizator | Data | 27 martie 2011 21:30:36 | |
|---|---|---|---|
| Problema | Divk | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.68 kb |
#include<fstream.h>
#define N 500001
long c[N],n,k,a,b,i,j,t;
long long s[N]={0},l=0;
int main()
{ifstream f1("divk.in");
ofstream f2("divk.out");
f1>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{f1>>c[i];
if(i<a)
s[a]+=c[i];
else
if(i==a)
{s[a]+=c[i];
if(s[a]%k==0)
l++;}}
for(j=a+1;j<=b;j++)
{s[j]=s[j-1]+c[j];
if(s[j]%k==0)
l++;}
for(t=1;t<=n;t++)
{for(j=a;j<=b;j++)
if(j+t<=n)
{s[j]+=c[j+t]-c[t];
if(s[j]%k==0)
l++;}}
f2<<l;
f1.close();
f2.close();
return 0;}
