Cod sursa(job #3305352)

Utilizator dragoscalinCalin V. Dragos Andrei dragoscalin Data 31 iulie 2025 23:21:10
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
#define MAXN 50000
using namespace std;
pair < int , int > oras[MAXN];
int maxd , maxdist;
int dist ( pair < int , int > i , pair < int , int > maxd ) {
    return i.second + abs ( maxd.first - i.first ) + maxd.second;
}
int main () {
    ifstream cin ( "orase.in" );
    ofstream cout ( "orase.out" );
    int m , n , i , d , l;
    cin >> m >> n;
    for ( i = 0; i < n; i++ ) {
        cin >> d >> l;
        oras[i] = { d , l };
    }
    sort ( oras , oras + n );
    for ( i = 1; i < n; i++ ) {
        maxdist = max ( maxdist , dist ( oras[i] , oras[maxd] ) );
        if ( oras[i].second > oras[maxd].second + ( oras[i].first - oras[maxd].first ) )
            maxd = i;
    }
    cout << maxdist << '\n';
}