Pagini recente » Cod sursa (job #1699909) | Cod sursa (job #854439) | Cod sursa (job #2714825) | Cod sursa (job #875264) | Cod sursa (job #186154)
Cod sursa(job #186154)
// HeavyMetal Infoarena
#include <algorithm>
#include <fstream>
using namespace std;
#define NMAX 100001
ifstream fin("heavymetal.in");
ofstream fout("heavymetal.out");
struct form
{
int st;
int sf;
unsigned long long solz;
};
int sortare(form a,form b)
{
return !(a.sf>b.sf||(a.sf==b.sf&&a.sf>b.sf));
}
int main()
{
int n,i,c=0;
form A[NMAX];
unsigned long long sol=0;
fin>>n;
for (i=1;i<=n;i++)
fin>>A[i].st>>A[i].sf;
sort (A+1,A+n+1,sortare);
A[0].st=A[0].sf=0;
A[0].solz=0;
int st,sf,m,sola;
for (i=1;i<=n;i++)
{
sf=i;
st=0;
while (st<=sf)
{
m=(st+sf)/2;
if (A[m].sf<=A[i].st)
{
sola=m;
st=m+1;
}
else
sf=m-1;
}
A[i].solz=A[sola].solz+A[i].sf-A[i].st;
if (A[i].solz>sol) sol=A[i].solz;
}
fout<<sol;
fout.close();
return 0;
}