Cod sursa(job #1001324)

Utilizator mazaandreiAndrei Mazareanu mazaandrei Data 24 septembrie 2013 20:35:13
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("orase.in"); ofstream out("orase.out");
struct oras{int d,l;}a[50005];
int n,m,sum,bestsum,j=1;
struct cmp{
    bool operator()(oras x, oras y){
        return x.d<y.d;
    }
};
int main()
{
    in>>m>>n;
    for(int i=1;i<=n;++i) in>>a[i].d>>a[i].l;
    sort(a+1,a+1+n,cmp());
    for(int i=2;i<=n;++i){
        sum=a[i].l+a[i].d+a[j].l-a[j].d;
        if(sum>bestsum) bestsum=sum;
        if(a[i].d+a[j].l-a[j].d<a[i].l) j=i; //Pagina 92 caiet explicat de ce e asa daca uiti
    }
    out<<bestsum<<'\n';
    return 0;
}