Pagini recente » Cod sursa (job #2847402) | Cod sursa (job #593994) | Cod sursa (job #1672593) | Cod sursa (job #389878) | Cod sursa (job #3176327)
#include <bits/stdc++.h>
using namespace std;
int n, m;
vector <pair <int, int> > v;
vector <int> dp;
int main()
{
ios_base :: sync_with_stdio(0);
cin.tie(0);
freopen("orase.in", "r", stdin);
freopen("orase.out", "w", stdout);
cin >> m >> n;
dp.resize(2);
for(int i = 1; i <= n; i ++)
{
int d, len;
cin >> d >> len;
v.push_back({d, len});
}
sort(v.begin(), v.end());
dp[0] = v[0].second;
int ans = INT_MIN, ind1 = 0, ind2 = 1;
for(int i = 1; i < n; i ++)
{
ans = max(ans, dp[ind1] + v[i].first - v[i - 1].first + v[i].second);
dp[ind2] = max(dp[ind1] + v[i].first - v[i - 1].first, v[i].second);
ind1 = 1 - ind1;
ind2 = 1 - ind2;
}
cout << ans;
return 0;
}