Cod sursa(job #1994904)
Utilizator | Data | 26 iunie 2017 16:04:15 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int n,k,a,b;
int v[500002],s[100002];
int main()
{
fin >> n >> k >> a >> b;
long long sol=0;
for (int i=1;i<=n;i++)
{
fin >> v[i];
v[i]+=v[i-1];
v[i]%=k;
if (i-b-1 >= 0) s[v[i-b-1]]--;
if (i-a>=0) s[v[i-a]]++;
sol+=s[v[i]];
}
fout << sol;
return 0;
}