Cod sursa(job #363506)

Utilizator dacyanMujdar Dacian dacyan Data 13 noiembrie 2009 17:20:53
Problema Orase Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#include <algorithm>
#include <vector>
#define MAX 50001
using namespace std;

long l[MAX], d[MAX];
long m, n, i, j, x, y;

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

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