Cod sursa(job #742616)
| Utilizator | Data | 30 aprilie 2012 20:50:06 | |
|---|---|---|---|
| Problema | Divk | Scor | 10 |
| 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");
const int maxn=500005;
int n, a, b, k, x, s[maxn], nr;
void read()
{
int i, x;
f>>n>>k>>a>>b;
for(i=1; i<=n; ++i)
{
f>>x;
s[i]=s[i-1]+x;
}
}
void sum(int x, int y, int z)
{
int i;
if(x<1) x=1;
for(i=x; i<=y; ++i) if( (s[z]-s[i]) % k ==0 ) ++nr;
}
int main()
{
read();
for(x=a; x<=n; ++x) sum(x-b+1, x-a+1, x);
g<<nr;
return 0;
}
