Cod sursa(job #2052429)

Utilizator stefanpiturStefan Alexandru Pitur stefanpitur Data 30 octombrie 2017 16:37:53
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;
struct nume{
    int di;
    int li;
}oras[50000];

bool cmp(nume a, nume b){
    if(a.di+a.li>b.di+b.li)
        return 0;
    return 1;
}

int main()
{
    FILE *fin, *fout;
    int m,n,d,l,D,maxim,i,val;
    fin=fopen("orase.in","r");
    fout=fopen("orase.out","w");
    fscanf(fin,"%d %d",&m,&n);
    for(i=1;i<=n;i++)
        fscanf(fin,"%d %d\n",&oras[i].di,&oras[i].li);
    sort(oras+1,oras+n+1,cmp);
    maxim=val=0;
    for(i=1;i<=n-1;i++){
        maxim=max(maxim,oras[i].li-oras[i].di);
        val=max(val,maxim+oras[n].li+oras[n].di);
    }
    fprintf(fout,"%d\n",val);
    fclose(fin);
    fclose(fout);
    return 0;
}