Pagini recente » Cod sursa (job #2778997) | Cod sursa (job #3268224) | Cod sursa (job #3170833) | Cod sursa (job #2305528) | Cod sursa (job #3252228)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("linterv.in");
ofstream fout("linterv.out");
struct nr
{
int x;
int y;
};
nr v[5005], w[5005];
bool cmp(nr a, nr b)
{
return a.x<b.x||a.x==b.x&&a.y<b.y;
}
int main()
{
int t, n;
long long sum;
fin >> t;
for(int q=1; q<=t; q++)
{
fin >> n;
sum=0;
for(int i=1; i<=n; i++)
{
fin >> v[i].x >> v[i].y;
}
sort(v+1, v+n+1, cmp);
///for(int i=1; i<=n; i++)
///{
///fout << v[i].x <<" "<< v[i].y << "\n";
///}
int ii=0;
for(int i=1; i<=n; i++)
{
bool ok=1, gasit=0;
for(int j=1; j<=ii; j++)
{
if(v[i].x<=w[j].y)
{
ok=0;
if(v[i].y>w[j].y)
{
sum+=v[i].y-w[j].y;
w[j].y = v[i].y;
}
if(v[i].x<w[j].x)
{
sum+=w[j].x-v[i].x;
w[j].x = v[i].x;
}
}
}
if(ok==1)
{
ii++;
sum+=(v[i].y-v[i].x);
w[ii].y = v[i].y;
w[ii].x = v[i].x;
}
}
fout << sum << "\n";
}
return 0;
}