Cod sursa(job #2090451)

Utilizator Anastasia11Susciuc Anastasia Anastasia11 Data 18 decembrie 2017 09:29:16
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");
int i,j,m,n,s,max1;
struct dist{
int di,li;
}a[50009];

bool cmp(dist a, dist b)
{
    if(a.li==b.li)
      return a.li<b.li;
      else
      return a.di<b.di;
}

int main()
{
   f >> m >> n ;
        for ( i = 1 ; i <= n ; i ++ )
           f >> a[i].di >> a[i].li;

        sort(a+1,a+n+1,cmp);

      s=a[n].li;
    for( i = n - 1 ; i >= 1 ; i -- )
    {
        s += a[i + 1].di - a[i].di ;
        max1 = max( max1 , s + a[i].li ) ;
        s = max(s , a[i].li ) ;
    }
    g << max1 ;

    return 0;
}