Cod sursa(job #423940)
| Utilizator | Data | 24 martie 2010 14:19:02 | |
|---|---|---|---|
| Problema | Divk | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.35 kb |
#include<fstream>
using namespace std;
ifstream f1 ("divk.in");
ofstream f2 ("divk.out");
int v[500010],r[100010];
int s[500010],nr;
int main()
{
int n,k,a,b,i;
f1>>n>>k>>a>>b;
for (i=1; i<=n; i++) {f1>>v[i]; s[i]=(s[i-1]+v[i])%k;}
for (i=a; i<=n+1; i++)
{
if (i>b) r[s[i-b-1]%k]--;
r[s[i-a]%k]++;
nr+=r[s[i]%k];
}
f2<<nr;
return 0;
}