Pagini recente » Cod sursa (job #2520185) | Cod sursa (job #1990852) | Cod sursa (job #927425) | Cod sursa (job #138148) | Cod sursa (job #2617706)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
const int DIM = 1000005;
long long n,m,x,y,DP[DIM],S[DIM],pos,ans;
int main()
{
fin>>n>>m;
for(int i=1;i<=m;i++)
{
fin>>x>>y;
DP[x]=max(DP[x],y);
}
for(int i=0;i<=n;i++)
{
if(!S[i] && DP[i])
{
S[i]=DP[i];
pos=i+1;
break;
}
}
for(int i=pos;i<=n;i++)
{
S[i]=S[i-1]+1;
if(DP[i]>S[i])
S[i]=DP[i];
if(S[i] && DP[i])
{
long long sum=S[i]+DP[i];
if(sum>ans)
ans=sum;
}
}
fout<<ans<<'\n';
}