Điểm: 200 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Khôi vừa viết một ứng dụng hẹn hò mang tên Fake love. Ứng dụng đang có \(n\) bạn nữ, \(m\) bạn nam đang sử dụng, biết rằng 2 người nam nữ sẽ chỉ thấy hợp nhau nếu độ chênh lệch cân nặng của họ không vượt quá \(k\). Qua một số thuật toán, ứng dụng của của Khôi sẽ xếp các nam nữ hợp nhau thành các couple. Vì muốn biết ứng dụng của mình đã tối tưu chưa, nên Khôi hỏi bạn có nhiều nhất bao nhiêu couple có thể có (1 nam chỉ có ghép thể với 1 bạn nữ, ngược lại cũng vậy).

Input

  • \(n, m, k(1 \leq n, m\leq 2*10^5, 0 \leq k \leq 10^9)\).
  • \(n\) số nguyên, \(1 \leq a_i\leq10^9\) cân nặng của các bạn nữ.
  • \(m\) số nguyên, \(1 \leq b_i\leq10^9\) cân nặng của các bạn nam.

Output

  • số couple.

Example

Test 1

Input
4 3 5
60 45 80 60
30 60 75 
Output
2

Bình luận


  • 0
    ducanhkingofcoder    9:01 p.m. 30 Tháng 5, 2024

    include <bits/stdc++.h>

    using namespace std;
    long long n,x,a[1000006],l,kq=1,r,d,t[1000006],ok,k,m,ko;
    map<long long,long long> y,z;
    map<long long,long long>::iterator it;
    int main()
    {
    freopen("vd.inp","r",stdin);
    freopen("vd.out","w",stdout);
    cin>>n>>m>>k;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=m;i++)cin>>t[i];
    sort(a+1,a+n+1);
    sort(t+1,t+m+1);
    l=r=1;
    while(l<=n && r<=m)
    {
    ok=abs(a[l]-t[r]);
    if(ok<=k)
    {
    l++;
    r++;
    d++;
    }
    else if(a[l]<t[r])l++; else if(ok>k)r++;

    }
    cout<<d;
    

    }


    • 0
      TDA    10:55 p.m. 15 Tháng 9, 2024

      tu poi tờ ak?