Cod sursa(job #1639164)

Utilizator qwertyuiTudor-Stefan Berbinschi qwertyui Data 8 martie 2016 11:10:45
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <climits>
#include <algorithm>

using namespace std;

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

#define MAXN 50050
#define MAXM 1000050

struct data {int distance, length;} street[MAXN];

int sort_by_distance (const data &a, const data &b)
{
    return a.distance < b.distance;
}

int N, M;

int main()
{
    fin >>M >>N;

    for (int i = 1; i <= N; ++i)
        fin >>street[i].distance >>street[i].length;

	sort (street+1, street+N+1, sort_by_distance);

	int j = 1;
	int _max = INT_MIN;

	for (int i = 2; i <= N; ++i)
	{
		_max = max(_max, street[i].length + street[i].distance + street[j].length - street[j].distance);
		if (street[i].length - street[i].distance > street[j].length - street[j].distance && i > j)
			j = i;

	}

	fout <<_max <<'\n';


    return 0;
}