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.