Pagini recente » Cod sursa (job #915941) | Cod sursa (job #3267394) | Cod sursa (job #1906125) | Cod sursa (job #840710) | Cod sursa (job #1834012)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *f, *g;
struct oras
{
int x, d;
};
oras v[1000001];
int mxx, px, mx;
int m, n;
void readFile()
{
f = fopen("orase.in", "r");
fscanf(f, "%d%d", &m, &n);
int i;
for(i = 1; i <= n; i ++)
fscanf(f, "%d%d", &v[i].x, &v[i].d);
fclose(f);
}
bool cmp(oras a, oras b)
{
if(a.x < b.x)
return true;
if(a.x > b.x)
return false;
return (a.d < b.d);
}
void solve()
{
sort(v + 1, v + n + 1, cmp);
int i;
mx = v[1].d;
px = v[1].x;
for(i = 2; i <= n; i ++)
{
if(v[i].x - px + v[i].d + mx > mxx)
mxx = v[i].x - px + v[i].d + mx;
if(v[i].d > mx)
{
mx = v[i].d;
px = v[i].x;
}
}
}
void printFile()
{
g = fopen("orase.out", "w");
fprintf(g, "%d\n", mxx);
fclose(g);
}
int main()
{
readFile();
solve();
printFile();
return 0;
}