Pagini recente » Cod sursa (job #193028) | Cod sursa (job #1820599) | Cod sursa (job #1628052) | Cod sursa (job #1458747) | Cod sursa (job #1743974)
#include <cstdio>
#define INF 10000000
int m1[1000000], m2[1000000];
using namespace std;
int main()
{
freopen( "orase.in", "r", stdin );
freopen( "orase.out", "w", stdout );
int n, m, i, d, l, drum=-INF, drtot=-INF;
scanf( "%d%d", &m, &n );
for( i=1;i<=m;i++ )
{
m1[i]=-INF;
m2[i]=-INF;
}
for( i=1;i<=n;i++ )
{
scanf( "%d%d", &d, &l );
if( m1[d]<=l )
{
m2[d]=m1[d];
m1[d]=l;
}
else
if( m2[d]<l )
m2[d]=l;
}
for( i=1;i<=m;i++ )
{
drum++;
if( m1[i]+m2[i]>drtot )
drtot=m1[i]+m2[i];
if( m1[i]+drum>drtot )
drtot=m1[i]+drum;
if( drum<m1[i] )
drum=m1[i];
}
printf( "%d", drtot );
return 0;
}