Pagini recente » Cod sursa (job #1350435) | Cod sursa (job #2378705) | Cod sursa (job #1027690) | Cod sursa (job #2921503) | Cod sursa (job #2445860)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("heavymetal.in");
ofstream fout("heavymetal.out");
int n, best[100005], maxim;
struct intervalPuscarie // :)))
{
int x, y;
}v[100005];
bool cmp(intervalPuscarie a, intervalPuscarie b)
{
if (a.y == b.y)
return a.x < b.x;
return a.y < b.y;
}
int main()
{
fin >> n;
for (int i = 1; i <= n; ++i)
fin >> v[i].x >> v[i].y, best[i] = v[i].y - v[i].x;
sort(v + 1, v + n + 1, cmp);
for (int i = 2; i <= n; ++i)
{
int maxx = 0;
for (int j = i - 1; j >= 1; --j)
{
if (v[i].x >= v[j].y && best[i] + best[j] > maxx)
{
maxx = best[i] + best[j];
}
}
if (maxx > 0)
best[i] = maxx;
maxim = max(maxim, best[i]);
}
fout << maxim;
return 0;
}