Cod sursa(job #922572)

Utilizator narcis_vsGemene Narcis - Gabriel narcis_vs Data 22 martie 2013 15:31:44
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#define N 1000004
#define max(a,b) (((a)>=(b))?(a):(b))
using namespace std;
int distmax[N],sol,n;
void Citire()
{
    int i,x,y;
    ifstream fin("orase.in");
    fin>>n>>i;
    while(i--)
    {
        fin>>x>>y;
        distmax[x] = max(distmax[x],y);
    }
}
void Rezolvare()
{
    int i,maxx;
    maxx = sol = -N;
    for(i=0;i<=n;i++)
        if(distmax[i])
        {
            sol = max(sol,distmax[i] + i + maxx);
            maxx = max(maxx,distmax[i]-i);
        }
}

inline void Afisare()
{
    ofstream fout("orase.out");
    fout<<sol<<"\n";
    fout.close();
}

int main()
{
    Citire();
    Rezolvare();
    Afisare();
    return 0;
}