Pagini recente » Cod sursa (job #1758599) | Cod sursa (job #1548116) | Cod sursa (job #3228235) | Cod sursa (job #1686102) | Cod sursa (job #1223404)
#include <cstdio>
#include <algorithm>
#define Mmax 1000005
using namespace std;
int m1[Mmax],m2[Mmax],dif[Mmax];
int main()
{
int M,N,a,b,sol=0,maxim=0,i;
freopen ("orase.in","r",stdin);
freopen ("orase.out","w",stdout);
scanf("%d%d", &M,&N);
while(N--)
{
scanf("%d%d", &a,&b);
if(b>m1[a])
{
m2[a]=m1[a]; m1[a]=b;
}
else
if(b>m2[a])
m2[a]=b;
}
for(i=1;i<=M;++i)
{
dif[i]=m1[i]-i;
if(m1[i] && m2[i])
sol=max(sol,m1[i]+m2[i]);
}
for(i=1;i<=M;++i)
if(m1[i])
{
sol=max(sol,m1[i]+i+maxim);
maxim=max(maxim,dif[i]);
}
printf("%d\n", sol);
return 0;
}