55932023-08-02 13:09:36TomaSajtUtazásszervezés (75 pont)cpp17Elfogadva 75/756ms5168 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;
    if (s > k - m + 1) continue;  // This should not happen, but it does!!!!
    requests[s] += 1;
  }

  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ÖsszpontTesztVerdiktIdőMemória
base75/75
1Elfogadva0/03ms3164 KiB
2Elfogadva0/06ms3376 KiB
3Elfogadva3/33ms3732 KiB
4Elfogadva4/43ms3768 KiB
5Elfogadva4/43ms3980 KiB
6Elfogadva4/43ms4212 KiB
7Elfogadva4/43ms4124 KiB
8Elfogadva4/43ms4216 KiB
9Elfogadva5/54ms4320 KiB
10Elfogadva5/54ms4544 KiB
11Elfogadva6/64ms4756 KiB
12Elfogadva6/66ms4840 KiB
13Elfogadva6/66ms4960 KiB
14Elfogadva6/66ms5040 KiB
15Elfogadva6/66ms5044 KiB
16Elfogadva6/66ms5044 KiB
17Elfogadva6/66ms5168 KiB