Cod sursa(job #3176327)

Utilizator TeodoraMaria123Serban Teodora Maria TeodoraMaria123 Data 27 noiembrie 2023 00:07:01
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#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;
}