Submission details
Task:Apartments
Sender:rikachu
Submission time:2025-09-08 10:54:07 +0300
Language:C++ (C++11)
Status:READY
Result:
Test results
testverdicttime
#10.37 sdetails
#20.37 sdetails
#30.37 sdetails
#40.37 sdetails
#50.37 sdetails
#60.37 sdetails
#70.37 sdetails
#80.37 sdetails
#90.37 sdetails
#100.37 sdetails
#110.37 sdetails
#120.37 sdetails
#130.37 sdetails
#140.37 sdetails
#150.37 sdetails
#160.37 sdetails
#170.37 sdetails
#180.37 sdetails
#190.37 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:31:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |   freopen("apartments.txt", "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Code

#define F first
#define S second
#define PB push_back
#define MP make_pair
#define REP(i, a, b) for (int i = a; i < b; ++i)
#define BR "\n"

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pi;

void dfs(int s, vi adj[], bool vis[]) {
  if (vis[s]) return;
  vis[s] = true;
  // process s
  for (auto u : adj[s]) {
    dfs(u, adj, vis);
  }
}

int main() {
  // uncomment if io is a bottleneck
  // ios::sync_with_stdio(0);
  // cin.tie(0);

  // uncomment to read cin from a file
  freopen("apartments.txt", "r", stdin);

  int n, m, k;
  cin >> n >> m >> k;

  int desires[n] = {};
  REP(i, 0, n) { cin >> desires[i]; }
  sort(desires, desires + n);

  int apartments[m] = {};
  REP(i, 0, m) { cin >> apartments[i]; }
  sort(apartments, apartments + m);

  int i = 0, j = 0;
  int res = 0;
  while (i < n && j < m) {
    bool too_small = apartments[j] < desires[i] - k;
    bool too_big = apartments[j] > desires[i] + k;
    if (!too_small && !too_big) {
      i++;
      j++;
      res++;
    } else if (too_small) {
      j++;
    } else {
      i++;
    }
  }

  cout << res << BR;

  return EXIT_SUCCESS;
}

Test details

Test 1

Verdict:

input
10 10 0
37 62 56 69 34 46 10 86 16 49
50 95 47 43 9 62 83 71 71 7

correct output
1

user output
(empty)

Test 2

Verdict:

input
10 10 10
90 41 20 39 49 21 35 31 74 86
14 24 24 7 82 85 82 4 60 95

correct output
6

user output
(empty)

Test 3

Verdict:

input
10 10 1000
59 5 65 15 42 81 58 96 50 1
18 59 71 65 97 83 80 68 92 67

correct output
10

user output
(empty)

Test 4

Verdict:

input
10 10 1000000000
25 80 59 43 67 21 77 5 8 99
66 41 62 24 88 55 1 53 50 60

correct output
10

user output
(empty)

Test 5

Verdict:

input
200000 200000 0
34 48 12 99 89 71 20 7 9 38 58...

correct output
197286

user output
(empty)

Test 6

Verdict:

input
200000 200000 10
89 26 46 74 91 19 47 18 83 85 ...

correct output
200000

user output
(empty)

Test 7

Verdict:

input
200000 200000 1000
71 84 11 90 70 59 60 11 52 65 ...

correct output
200000

user output
(empty)

Test 8

Verdict:

input
200000 200000 1000000000
21 94 92 4 12 5 38 47 59 92 2 ...

correct output
200000

user output
(empty)

Test 9

Verdict:

input
10 10 0
727245017 647121519 549745115 ...

correct output
0

user output
(empty)

Test 10

Verdict:

input
10 10 10
30734435 218114477 257355293 4...

correct output
0

user output
(empty)

Test 11

Verdict:

input
10 10 1000
7899629 162004163 327616450 51...

correct output
0

user output
(empty)

Test 12

Verdict:

input
10 10 1000000000
725746771 537157640 742868604 ...

correct output
10

user output
(empty)

Test 13

Verdict:

input
200000 200000 0
375495587 322263536 985991668 ...

correct output
42

user output
(empty)

Test 14

Verdict:

input
200000 200000 10
906603621 968136956 666786366 ...

correct output
846

user output
(empty)

Test 15

Verdict:

input
200000 200000 1000
215460174 880023362 242442952 ...

correct output
57149

user output
(empty)

Test 16

Verdict:

input
200000 200000 1000000000
50349580 773460492 440699400 8...

correct output
200000

user output
(empty)

Test 17

Verdict:

input
199999 1 1
199996 199997 149999 117797 19...

correct output
1

user output
(empty)

Test 18

Verdict:

input
5 2 2
2 2 2 40 50
40 50

correct output
2

user output
(empty)

Test 19

Verdict:

input
4 3 5
60 45 80 60
30 60 75

correct output
2

user output
(empty)