Cod sursa(job #2305167)

Utilizator MoodyFaresFares Mohamad MoodyFares Data 19 decembrie 2018 15:07:31
Problema Zombie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>

int main() {
  freopen("zombie.in", "r", stdin);
  freopen("zombie.out", "w", stdout);

  int d, n, k;
  scanf("%d%d%d", &d, &n, &k);
  if (n == 1) {
    printf("1\n");
    return 0;
  }
  int last;
  scanf("%d", &last);
  int left, right;
  left = right = 1;
  int leftPoint = d;
  long long ans = 0;
  for (int i = 2; i <= n; i++) {
    int t;
    scanf("%d", &t);
    if (leftPoint - (t - last) > 0) {
      leftPoint -= (t - last);
      right = i;
    } else {
      int length = right - left + 1;
      if (length > k)
        ans += k;
      else
        ans += length;
      left = right = i;
      leftPoint = d;
    }
    last = t;
  }
  int length = right - left + 1;
  if (length > k)
    ans += k;
  else
    ans += length;
  printf("%d\n", ans);
  return 0;
}