Cod sursa(job #2633736)

Utilizator euyoTukanul euyo Data 8 iulie 2020 13:36:06
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <algorithm>
#include <cmath>

using namespace std;

ifstream fin( "orase.in" );
ofstream fout( "orase.out" );

const int MaxN = 50000;

int l[MaxN], dist[MaxN];
int ind[MaxN];

int cmp( int a, int b ) {
  return ((l[a] + dist[a]) < (l[b] + dist[b]));
}

int main() {
  int i, d, lp, n, maxd;

  fin >> lp >> n;
  for ( i = 0; i < n; ++i ) {
    fin >> dist[i] >> l[i];
    ind[i] = i;
  }
  sort( ind, ind + n, cmp );
  maxd = 0;
  for ( i = 0; i < n - 1; ++i ) {
    d = l[ind[n - 1]] + l[ind[i]] + abs( dist[ind[n - 1]] - dist[ind[i]] );
	if ( d > maxd )  {
	  maxd = d;
	}
  }
  fout << maxd;
  fin.close();
  fout.close();
  return 0;
}