Pagini recente » Cod sursa (job #151143) | Cod sursa (job #156725) | Cod sursa (job #740844) | Cod sursa (job #417096) | Cod sursa (job #2676784)
#include <fstream>
using namespace std;
ifstream fin ("orase.in");
ofstream fout ("orase.out");
int v[50001],v2[50001];
int main()
{
int m,n,x,y,i,lmax,cmax,pos,k;
fin >>m>>n;
for (i=1;i<=n;++i)
{
fin >>y>>x;
if (x>v[y])
{
v2[y]=v[y];
v[y]=x;
}
else
{
if (x>v2[y])
v2[y]=x;
}
}
cmax=0;
lmax=0;
for (i=0;i<=m;++i)
{
if (v[i]>0)
{
if (cmax==0)
pos=i;
if (v[i]+cmax+i-pos>lmax)
lmax=v[i]+cmax-pos+i;
if (v[i]>cmax)
{
cmax=v[i];
pos=i;
}
if (v2[i]+cmax+i-pos>lmax)
lmax=v2[i]+cmax;
}
}
fout <<lmax;
fin.close ();
fout.close ();
return 0;
}