Cod sursa(job #1163610)
Utilizator | Data | 1 aprilie 2014 15:09:10 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.35 kb |
#include <fstream>
using namespace std;
int n,k,a,b,s[500001],r[100001];
long long sol;
ifstream fin("divk.in");
ofstream fout("divk.out");
int main()
{
fin>>n>>k>>a>>b;
for(int i=1;i<=n;++i)
{
fin>>s[i];
s[i]=(s[i]+s[i-1])%k;
if(i>=a)
++r[s[i-a]];
if(i>b)
--r[s[i-b-1]];
sol+=r[s[i]];
}
fout<<sol<<"\n";
return 0;
}