Siçanların və deşiklərin koordinatlarını müvafiq olaraq və massivlərində sıralayaq. a_i siçanı b_i deşiyində gizlənməlidir. | b_i - a_i | fərqlərinin modulları arasında maksimumu hesablayırıq.
Nümunə
Siçanların və deşiklərin koordinatları olan massivləri sıralayaq. a_i siçanına b_i deşiyini uyğunlaşdıraq.
cavabı koordinatı olan nöqtədən koordinatı olan deşiyə qaçmalı olan dördüncü siçan üçün əldə edilir.
Alqoritmin reallaşdırılması
və iş massivlərini elan edək.
#define MAX 100001
int a[MAX], b[MAX];Giriş məlumatlarını oxuyuruq.
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
for (i = 0; i < n; i++)
scanf("%d", &b[i]);Massivləri sıralayırıq.
sort(a, a + n);
sort(b, b + n);| b_i - a_i | fərqlərinin modulları arasında maksimumu hesablayırıq.
res = 0;
for (i = 0; i < n; i++)
if (abs(b[i] - a[i]) > res) res = abs(b[i] - a[i]);Cavabı çap edirik.
printf("%d\n", res);Java reallaşdırması
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
Integer a[] = new Integer[n];
for(int i = 0; i < n; i++)
a[i] = con.nextInt();
Integer b[] = new Integer[n];
for(int i = 0; i < n; i++)
b[i] = con.nextInt();
Arrays.sort(a);
Arrays.sort(b);
int res = 0;
for (int i = 0; i < n; i++)
if (Math.abs(a[i] - b[i]) > res) res = Math.abs(a[i] - b[i]);
System.out.println(res);
con.close();
}
} Python reallaşdırması
Giriş məlumatlarını oxuyuruq.
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))Massivləri sıralayırıq.
a.sort()
b.sort()| b_i - a_i | fərqlərinin modulları arasında maksimumu hesablayırıq.
res = 0
for i in range(n):
if abs(a[i] - b[i]) > res: res = abs(a[i] - b[i])Cavabı çap edirik.
print(res)