Se citeşte de la tastatură un şir de k intervale, pentru fiecare fiind introduse cele două limite [a,b] unde a
limite [a.b] unde alimitelor intervalului ce conţine cele mai multe valori întregi.
Exemplu:
Pentru k=4 şi şirul de numere: 2 6 4 8 3 22 5 10 se va afişa intervalul (3 22).
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int k, a, b, l, cnt=0, max=-1, v[100];
cin >> k;
for(int i = 0; i < k; i++) {
cin >> a >> b;
l = b-a+1;
if(l > max) {
l = max;
v[0] = a;
v[1] = b;
cnt = 2;
} else if (l == max) {
cnt += 2;
v[cnt] = a;
v[cnt+1] = b;
}
}
for(int i = 0; i < cnt; i += 2)
cout << v[i] << ' ' << v[i+1];
return 0;
}
Explicație:
Am luat in considerare faptul ca pot fi mai multe intervale cu aceeasi lungime. Daca problema are restrictii si nu le.ai pus tu in cerinta, modifica tu codul, sau, daca nu reusesti, imi dai mesaj si te ajut. De asemenea, mi.a fost dificil sa il declar pe v[] daca nu stiam limitele problemei.