Cod sursa(job #960500)
| Utilizator | Data | 10 iunie 2013 16:46:18 | |
|---|---|---|---|
| Problema | Divk | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
long long sum[500000],n,a,b,k,result;
void read()
{
int i,val;
f>>n>>k>>a>>b;
f>>sum[1];
for(i=2;i<=n;i++)
{
f>>val;
sum[i]=sum[i-1]+val;
}
}
void calculate()
{
long long i;
for(i=1;i<=n;i++)
{
long long x=i-a+1,y=i-b+1;
for(long long j=x;j>=1 && j>=y;j--)
{
if((sum[i]-sum[j])%k==0)
result++;
}
}
g<<result<<"\n";
}
int main()
{
read();
calculate();
return 0;
}
