Cod sursa(job #2101881)
Utilizator | Data | 8 ianuarie 2018 10:01:31 | |
---|---|---|---|
Problema | Orase | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");
int i,j,m,n,s,max1;
struct distanta
{
int di,li;
}a[50009];
bool cmp(distanta a, distanta b)
{
if(a.li==b.li)
return a.li<b.li;
else
return a.di<b.di;
}
int main()
{
f>>m>>n;
for(i=1;i<=n;i++)
f>>a[i].di>>a[i].li;
sort(a+1,a+n+1,cmp);
s=a[n].li;
for(i=n-1;i>=1;i--)
{
s+=a[i+1].di-a[i].di ;
max1=max(max1,s+a[i].li);
s=max(s,a[i].li);
}
g<<max1;
return 0;
}