Cod sursa(job #1752502)

Utilizator liviu23Liviu Andrei liviu23 Data 4 septembrie 2016 10:41:43
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <algorithm>
#include <fstream>
#define f first
#define s second
using namespace std;

int m,n;
pair<int,int> str[50005];

int main()
{
    ifstream fin("orase.in");
    ofstream fout("orase.out");
    fin>>m>>n;
    for(int i=1;i<=n;i++)
        fin>>str[i].f>>str[i].s;
    sort(str+1,str+n+1);
    int st=1,ans=0;
    for(int i=2;i<=n;i++) {
        int dist=str[st].s+(str[i].f-str[st].f);
        ans=max(ans,str[i].s+dist);
        if(dist<str[i].s)
            st=i;
    }
    if(ans==0)
        ans=2*str[1].s;
    fout<<ans;
    return 0;
}