Cătălin are N creioane, fiecare creion i având lungimea a[i]. El trebuie sa aleagă 2 creioane ca să scrie
tema la mate. Ca un matematician adevărat, lui Cătălin îi place simetria: el vrea să aleagă cele două cre-
ioane astfel încât ele să fie cât mai asemănătoare (să aibă diferența dintre lungimi minimă). Rolul vostru
este să îi ziceți lui Cătălin care este aceasta diferență minimă.
Date de intrare
În fișierul creioane.in se află pe prima linie numărul N iar pe a doua line N numere.
Date de ieșire
Afișați în fișierul creioane.out diferența minimă dintre oricare două elemente.
Restricții și precizări
2 ≤ N ≤ 100000
1 ≤ a[i] ≤ 1018
folosindu-ne de Sortarea prin selecție a vectorilor
Răspunsuri la întrebare
Răspuns de
1
Salut!
Ai mai jos rezolvarea in limbajul C++
#include <fstream>
using namespace std;
ifstream cin("creioane.in");
ofstream cout("creioane.out");
int main()
{
int n, a[100001];
cin >> n;
for (int i = 1; i <= n; ++i)
{
cin >> a[i];
}
for (int i = 1; i < n; ++i)
{
for (int j = i + 1; j <= n; ++j)
{
if (a[i] > a[j])
{
swap(a[i], a[j]);
}
}
}
int mini = 10000000;
for (int i = 1; i < n; ++i)
{
if (a[i + 1] - a[i] < mini)
{
mini = a[i + 1] - a[i];
}
}
cout << mini;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă