Pagini recente » Cod sursa (job #1792345) | Cod sursa (job #53780) | Cod sursa (job #791045) | Cod sursa (job #1665240) | Cod sursa (job #937111)
Cod sursa(job #937111)
#include <cassert>
#include <cstdio>
const int nmax=1000005;
int c[nmax],d[nmax];
int max(int a,int b)
{
if (a>b)
return a;
return b;
}
int main()
{
int n=0,m=0,i=0,x=0,y=0,maxim=0;
assert(freopen("orase.in","r",stdin));
assert(freopen("orase.out","w",stdout));
assert(scanf("%d%d",&m,&n));
for (i=0; i<n; ++i)
{
assert(scanf("%d%d",&x,&y));
maxim=max(maxim,d[x]+y);
d[x]=max(d[x],y);
}
i=0;
while (d[i]==0)
++i;
++i;
while (i<=m)
{
c[i]=max(c[i-1],d[i-1])+1;
++i;
}
for (i=0; i<nmax; ++i)
maxim=max(maxim,c[i]+d[i]);
assert(printf("%d\n",maxim));
return 0;
}