Cod sursa(job #2416658)
Utilizator | Carol Luca Carol_Luca | Data | 27 aprilie 2019 20:42:40 |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
/// divk
#include <fstream>
#define DIM 500010
using namespace std;
int p[DIM], fr[DIM], n, k, a, b, i, x;
long long sol;
int main()
{
ifstream f("divk.in");
ofstream g("divk.out");
f >> n >> k >> a >> b;
for(i = 1; i <= n; i ++)
{
f >> x;
p[i] = ( p[i - 1] + x ) % k;
if(i >= a) fr[ p[i - a] ] ++;
if(i > b) fr[ p[i - b - 1] ] --;
sol = sol + fr[ p[i] ];
}
g << sol;
f.close();
g.close();
return 0;
}