Pagini recente » Cod sursa (job #2919075) | Cod sursa (job #389074) | Cod sursa (job #130203) | Cod sursa (job #402254) | Cod sursa (job #757077)
Cod sursa(job #757077)
#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 = 0, maxt = 0 ;
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)
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;
}