Cod sursa(job #2193363)
| Utilizator | Data | 9 aprilie 2018 20:29:02 | |
|---|---|---|---|
| Problema | Divk | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
const int NMAX = 5e5 + 5;
int s;
long long nr;
int k, a, b, n;
int v[NMAX];
int main()
{
int s = 0;
f >> n >> k >> a >> b;
for(int i = 1; i <= n; i++)
{
int p;
f >> p;
s = (s + p % k) % k;
v[i] = s;
}
for(int i = a; i <= b; i++)
{
for(int j = 1; j <= n - i + 1; j++)
{
if(v[j + i - 1] >= v[j])
s = v[j + i - 1] - v[j];
else
s = v[j + i - 1] + k - v[j];
if(s % k == 0)
nr++;
}
}
g << nr;
}
