Cod sursa(job #1937296)
Utilizator | Data | 23 martie 2017 21:01:57 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.38 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
int v[500001];
int a[500001];
int main()
{int n,i,k,A,B;
f>>n>>k>>A>>B;
for(i=1;i<=n;i++)
{
f>>a[i];
a[i]=(a[i]+a[i-1])%k;
}
long long nr=0;
for(i=A;i<=n;i++)
{
v[a[i-A]]++;
if(i>B)
v[a[i-B-1]]--;
nr+=v[a[i]];
}
g<<nr;
return 0;
}