Cod sursa(job #679486)
| Utilizator | Data | 13 februarie 2012 12:51:08 | |
|---|---|---|---|
| Problema | Divk | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
#define NR 500001
using namespace std;
int v[NR],k2,a,b,n,div2,v2[NR];
void citire()
{
ifstream fin("divk.in");
fin>>n>>k2>>a>>b;
for(int i=1;i<=n;i++)
{
int x;
fin>>v2[i];
x=v2[i];
v[i]=(v[i-1]+x%k2)%k2;
}
}
int main()
{
citire();
for(int i=1;i<=n-a+1;i++)
{
int s=0;
s+=v[i]-v[i-a+1];
for(int j=a;j<=b && i+j-1<=n;j++)
{
s+=v2[i+j-1];
if(s%k2==0) div2++;
}
}
ofstream fout("divk.out");
fout<<div2;
return 0;
}