5592 2023. 08. 02 13:08:15 TomaSajt Utazásszervezés (75 pont) cpp17 Elfogadva 75/75 6ms 5336 KiB
#include <bits/stdc++.h>
using namespace std;

const int K_MAX = 100000;

int main() {
  int guides, k, m, c;
  cin >> guides >> k >> m >> c;

  vector<int> requests(K_MAX + 1, 0);
  for (int i = 0; i < c; i++) {
    int s;
    cin >> s;
    requests[s] += 1;
    if (s > k - m + 1) return 1 / 0;
  }

  vector<int> guide_ends(K_MAX + 1, 0);
  int total = 0;

  for (int s = 1; s <= K_MAX - m + 1; s++) {
    int accepted = min(guides, requests[s]);
    total += accepted;
    guides -= accepted;
    guide_ends[s + m - 1] += accepted;
    guides += guide_ends[s];
  }
  cout << total;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 75/75
1 Elfogadva 0/0 4ms 3232 KiB
2 Elfogadva 0/0 6ms 3384 KiB
3 Elfogadva 3/3 3ms 3664 KiB
4 Elfogadva 4/4 3ms 3756 KiB
5 Elfogadva 4/4 3ms 3944 KiB
6 Elfogadva 4/4 3ms 4084 KiB
7 Elfogadva 4/4 3ms 4256 KiB
8 Elfogadva 4/4 4ms 4464 KiB
9 Elfogadva 5/5 4ms 4672 KiB
10 Elfogadva 5/5 4ms 4884 KiB
11 Elfogadva 6/6 4ms 4968 KiB
12 Elfogadva 6/6 4ms 4972 KiB
13 Elfogadva 6/6 4ms 4972 KiB
14 Elfogadva 6/6 6ms 5184 KiB
15 Elfogadva 6/6 6ms 5268 KiB
16 Elfogadva 6/6 6ms 5192 KiB
17 Elfogadva 6/6 6ms 5336 KiB