Pagini recente » Cod sursa (job #1605305) | Cod sursa (job #2945099) | Cod sursa (job #1340613) | Cod sursa (job #1928601) | Cod sursa (job #638200)
Cod sursa(job #638200)
#include<cstdio>
const int N = 1000005;
int d, n, k, a[N];
void citire() {
scanf("%d%d%d", &d, &n, &k);
for (int i = 1; i <= n; ++i)
scanf("%d", &a[i]);
}
int cautbin(int x) {
int i, pas = (1 << 20);
for (i = 0; pas; pas >>= 1)
if (i + pas <= n && a[i + pas] <= x)
i += pas;
return i;
}
void rez() {
int cost = 0;
for (int i = 1; i <= n; ++i) {
int poz = cautbin(a[i] + d - 1);
if (poz - i + 1 >= k)
cost += k;
else
cost += poz - i + 1;
i = poz;
}
printf("%d\n", cost);
}
int main() {
freopen("zombie.in", "r", stdin);
freopen("zombie.out", "w", stdout);
citire();
rez();
return 0;
}