Cod sursa(job #1886528)
| Utilizator | Data | 20 februarie 2017 22:32:32 | |
|---|---|---|---|
| Problema | Divk | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
using namespace std;
int v[500010],vc[100010];
int main()
{
ifstream fin ("divk.in");
ofstream fout ("divk.out");
int n,k,a,b,i,suma=0,x;
fin>>n>>k>>a>>b;
for(i=1; i<=n; i++)
{
fin>>x;
v[i]=v[i-1]+x;
v[i]%=k;
}
vc[0]=1;
for(i=1; i<=n; i++)
{
if(i>=a)
{
vc[v[i-a+1]]++;
if(i>=b)
vc[v[i-b]]--;
suma=suma+vc[v[i]];
}
}
fout<<suma;
return 0;
}
