Cod sursa(job #464436)
Utilizator | Data | 20 iunie 2010 11:30:45 | |
---|---|---|---|
Problema | Divk | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.35 kb |
#include <cstdio>
#define lm 100010
long v[500010],d[100010],n,k,a,b,i,x,st,s;
long long c;
int main()
{ifstream q("divk.in");
ofstream w("divk.out");
q>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{q>>x;
s=(s+(x%k))%k;
v[i]=s%k;}
d[0]=1;
for(i=a; i<=n; i++)
{c+=d[v[i]];
d[v[i-a+1]]++;
if(st+b<=i)
{d[v[st]]--;
st++;}}
w<<c;}