Cod sursa(job #376924)

Utilizator dacyanMujdar Dacian dacyan Data 22 decembrie 2009 22:04:34
Problema Orase Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <algorithm>
#include <vector>
#define MAX 50001
using namespace std;

vector<long> d, l;
long m, n, i, j, x, y;

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

int main()
{
    fin >> m >> n;
    d.resize(n), l.resize(n);
    for ( i = 0; i < n; ++i)
    {
        fin >> x >> y;
        d[i] = x * 1000000 + y;
    }    
    sort(d.begin(), d.end());
    
    for ( i = 0; i < n; i++)
    {
       l[i] = d[i] % 1000000;
       d[i] = d[i] / 1000000;
             
    }   
   long dt = l[0] - d[0];
   long  maxt = 0, dn, max;
   
   for ( i = 1; i < n; ++i)
   {
       dn = l[i] - d[i];
       if ( dn > dt)
		   dt = dn;
	   max = l[i] + d[i] + dt;
	   if(maxt < max)
          maxt = max;
   }
 
   fout << maxt << '\n';
    
    fin.close();
    fout.close();
    return 0;
}