Pagini recente » Cod sursa (job #428918) | Cod sursa (job #301856) | Cod sursa (job #385770) | Cod sursa (job #1214466) | Cod sursa (job #1574222)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");
int dif(int a, int b)
{
if(a>b)
return a-b;
return b-a;
}
struct oras
{
int d,l,s;
};
int ordo(oras a, oras b)
{
return a.s>b.s;
}
int n,m,i,j,maxi,s;
oras O[50001];
int main()
{
f>>m>>n;
for(i=1;i<=n;i++)
{
f>>O[i].d>>O[i].l;
O[i].s=O[i].d+O[i].l;
}
sort(O+1,O+n+1,ordo);
for(i=2;i<=n;i++)
{
O[i].s=dif(O[i].d,O[1].d)+O[i].l;
}
sort(O+2,O+n+1,ordo);
/*for(i=1;i<=n;i++)
{
g<<O[i].d<<" "<<O[i].l<<" "<<O[i].s<<'\n';
}*/
/*for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{
s=O[i].l+O[j].l+dif(O[i].d,O[j].d);
if(s>maxi)
maxi=s;
}*/
maxi=O[2].s+O[1].l;
g<<maxi;
f.close();
g.close();
return 0;
}