# PBinfo #3832 – A-ManhattanDeBuget – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerința
Dându-se N puncte laticiale, care este distanța Manhattan de buget minimă dintre două puncte de coordonate a b respectiv x y cu proprietatea că a-y >= x-b?

Date de intrare
Fișierul de intrare mman.in conține pe prima linie numărul N, iar pe următoarele n linii se află câte două numere, pe linia i se află coordonatele x respectiv y ale punctului i.

Date de ieșire
Fișierul de ieșire mman.out va conține pe prima linie numărul M reprezentând valoarea cerută.

Restricții și precizări

2 ≤ n ≤ 100.000
coordonatele tuturor punctelor aparțin intervalului [-1.000.000.000, 1.000.000.000].
Distanța Manhattan de buget dintre punctul cu coordonate a b si punctul de coordonate x y este a-x+b-y.

Exemplu:
mman.in

3
1 1
2 3
-1 -1
mman.out

3
Explicație
Distanța minimă dintre două puncte se obține din punctele cu coordonate 1 1 și 2 3.

## Cod sursă C++

```cpp
#include<bits/stdc++.h>
using namespace std;
ifstream fin("mman.in");
ofstream fout("mman.out");
long long n,x[100005],mn;
pair<long long,long long>v[100005];
int main(){
    mn=1e9+7;
    fin>>n;
    for(long long i=1;i<=n;i++)fin>>v[i].first>>v[i].second;
    for(long long i=1;i<=n;i++)x[i]=v[i].first+v[i].second;
    sort(x+1,x+n+1);
    for(long long i=1;i<n;i++)mn=min(mn,x[i+1]-x[i]);
    fout<<mn;
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3832)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3832/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3832/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
