Cod sursa(job #1400753)

Utilizator cypry97Dascalitei Ciprian cypry97 Data 25 martie 2015 13:51:24
Problema Orase Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;

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

int m,n;
vector < pair < int, int > > v;
int rez;

void citire()
{
    in>>m>>n;
    int i,d,l;
    v.reserve(n+1024);
    for(i=1;i<=n;i++)
    {
        in>>d>>l;
        v.push_back(make_pair(d,l));
    }
}

bool cmp ( pair < int, int > a, pair < int, int > b)
{
    return a.first<b.first;
}

void rezolvare()
{
    sort(v.begin(),v.end(),cmp);
    int dmax=-1;
    int dcur=v.front().first, lcur=-1;
    for(auto x: v)
    {
        if(x.first-dcur+lcur+x.second>dmax)
            dmax=x.first-dcur+lcur+x.second;
        if(x.second>dcur+(x.second-lcur))
        {
            dcur=x.first;
            lcur=x.second;
        }
    }
    rez=dmax;
}

void afisare()
{
    out<<rez;
}

int main()
{
    citire();
    rezolvare();
    afisare();
    return 0;
}