Cod sursa(job #1588832)

Utilizator raluca1234Tudor Raluca raluca1234 Data 3 februarie 2016 17:20:11
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <cstdio>
#include <algorithm>
#define MAXN 50000
using namespace std;

struct oras{int x, y;}v[MAXN+5];

bool CMP(const oras &a, const oras &b){
    if (a.x==b.x)
        return a.y<b.y;
    else return a.x<b.x;
}

int dist(int i, int j){
    return v[i].y+v[j].y + v[j].x-v[i].x;
}

int main(){
    int m, n, i, u, dmax;
    freopen("orase.in", "r", stdin);
    freopen("orase.out", "w", stdout);
    scanf("%d%d", &m, &n);
    for (i=1; i<=n; i++)
        scanf("%d%d", &v[i].x, &v[i].y);
    sort(v+1, v+n+1, CMP);
    u=1;
    dmax=dist(1, 2);
    for (i=3; i<=n; i++){
        if (dist(i-1, i)>dist(u, i))
            u=i-1;
        if (dist(u, i)>dmax)
            dmax=dist(u, i);
    }
    printf("%d\n", dmax);
    return 0;
}