Pagini recente » Cod sursa (job #2624817) | Cod sursa (job #2134314) | Cod sursa (job #1740297) | Cod sursa (job #1812766) | Cod sursa (job #3310415)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
const int nmax=50005;
const int INF=100000000;
struct val{
int d,l;
};
val v[nmax];
int cmp(val x,val y)
{
return(x.d<y.d);
}
int main()
{
int m,n;
fin>>m>>n;
for(int i=1;i<=n;i++)
{
fin>>v[i].d>>v[i].l;
}
sort(v+1,v+n+1,cmp);
long long ansewer=-INF,min_dif=0;
for(int i=1;i<=n;i++)
{
int candidat=v[i].l+v[i].d-min_dif;
if(candidat>ansewer)
ansewer=candidat;
if(v[i].d-v[i].l<min_dif)
{
min_dif=v[i].d-v[i].l;
}
fout<<min_dif<<" ";
}
fout<<ansewer;
return 0;
}