Pagini recente » Cod sursa (job #1536322) | Cod sursa (job #3278129) | Cod sursa (job #1707787) | Cod sursa (job #2506583) | Cod sursa (job #2498010)
#include<bits/stdc++.h>
using namespace std;
ifstream in("heavymetal.in");
ofstream out("heavymetal.out");
int dp[100001];
int suma=0;
int n;
int x=1;
struct timp
{
int st,f;
}lista[100001];
void read()
{
in>>n;
for(int i=1;i<=n;i++)
{
in>>lista[i].st>>lista[i].f;
}
}
bool comparare(timp a ,timp b)
{
return (a.f<b.f);
}
bool comparare2(timp a ,timp b)
{
if(a.st==b.st)
return (a.f>b.f);
return false;
}
void sortare()
{
sort(lista+1,lista+n+1,comparare);
sort(lista+1,lista+n+1,comparare2);
}
void solve(int &i)
{
int j=i;
while(lista[j].st<dp[x-1])
j++;
dp[x]=lista[j].f;
suma=lista[j].f-lista[j].st+suma;
i=j;
x++;
}
int main()
{
read();
sortare();
for(int i=1;i<=n;i++ )
{
solve(i);
}
out<<suma;
}