Pagini recente » Cod sursa (job #3219538) | Cod sursa (job #1601605) | Cod sursa (job #2373331) | Cod sursa (job #1005771) | Cod sursa (job #757080)
Cod sursa(job #757080)
#include<fstream>
#include<algorithm>
#define nmax 50004
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
int n,m;
struct oras{int d; int s;};
oras o[nmax];
inline bool cmp(oras a, oras b)
{
return (a.d < b.d) || (a.d == b.d && a.s < b.s) ;
}
int solve()
{
int maxi = -10000, maxt = -100000 ;
for(int i = 1; i <= m; i++)
{
if(maxi < o[i].s )
{
maxi = o[i].s;
if(maxt > maxi + o[i - 1].s && o[i - 1].d == o[i].d &&(i - 1))
maxt = maxi + o[i - 1].s;
}
else{
maxi += o[i].d - o[i - 1].d ;
if(maxi + o[i].s >maxt)
maxt = maxi + o[i].s;
}
}
return maxt;
}
void read()
{
fin >>n >> m ;
for(int i = 1; i <= m ;i++)
fin >>o[i].d >> o[i].s;
sort(o + 1, o + 1 + m, cmp);
}
int main()
{
read();
fout<<solve();
fin.close();
return 0;
}