Cod sursa(job #403986)

Utilizator dacyanMujdar Dacian dacyan Data 25 februarie 2010 17:23:05
Problema Orase Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream> 
#include <algorithm> 
#include <vector> 
#define MAX 50001 
using namespace std; 

 
long m, n, i, j, x, y; 

struct S {
    int l;
    int d;
}L[MAX];

bool Calc(S, S);

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

int main() 
{ 
    fin >> m >> n; 
    for ( i = 0; i < n; ++i) 
     
        fin >> L[i].d >> L[i].l; 
       
    sort(L, L + n, Calc); 
 
    long dt = L[0].l - L[0].d; 
    long  maxt  = 0, dn, max; 

     for ( i = 1; i < n; ++i) 
     { 
          max = 0; 
          dn = L[i].l - L[i].d; 
          max = L[i].l + L[i].d + dt; 
          if ( dn > dt) 
                    dt = dn; 
          if(maxt < max) 
                    maxt = max; 
     } 

     fout << maxt << "ADS" << '\n'; 
     fin.close(); 
     fout.close(); 
     return 0; 
}   

bool Calc(S a, S b)
{
    return a.d > b.d || a.d == b.d && a.l > b.l;
}