Cod sursa(job #423900)

Utilizator funkydvdIancu David Traian funkydvd Data 24 martie 2010 13:41:03
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.39 kb
#include<fstream>
using namespace std;
ifstream f1 ("ctc.in");
ofstream f2 ("ctc.out");
int v[500001],r[100001];
long long s[500001];
int nr;
int main()
{
int n,k,a,b,i,j;
f1>>n>>k>>a>>b;
for (i=1; i<=n; i++) {f1>>v[i]; s[i]=s[i-1]+v[i];}
if (s[a]%k==0) nr++;
r[s[1]%k]++;
for (i=a+1; i<=n; i++)
{
  if (i>b) r[s[i-b]%k]--;
  r[s[i-a+1]%k]++;
  nr+=r[s[i]%k];
}
f2<<nr;
return 0;
}