Cod sursa(job #1003583)

Utilizator Tudordmdaniel marin Tudordm Data 30 septembrie 2013 22:23:29
Problema Orase Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<cstdio>
#include<algorithm>

int dist[3],lung[3];

struct oras{
    int d;
    int l;
}v[50010];

int minim(oras a,oras b){

    int delta1,delta2;
    delta1=a.d+a.l;
    delta2=b.d+b.l;
    if(delta1>=delta2&&a.d<b.d)
        return a.l-a.d;
        return b.l-b.d;
    }

int maxim(oras a,oras b){

    int delta1,delta2;
    delta1=a.d+a.l;
    delta2=b.d+b.l;
    if(delta1>=delta2&&a.d>b.d)
    return a.d+a.l;
    return b.d+b.l;

}

int main(){

    int i,q,p,m,n,t,r;

    v[5009].d=-2;v[5009].l=-2;
    v[5008].d=1000000;v[5008].l=-999999;

    freopen("orase.in","r",stdin);
    freopen("orase.out","w",stdout);

    scanf("%d%d\n",&m,&n);
    for(i=1;i<=n;i++){
        scanf("%d%d",&v[i].d,&v[i].l);
        t=q;r=p;
        q=minim(v[5008],v[i]);
        if(t!=q){
            v[5008].d=v[i].d;
            v[5008].l=v[i].l;
        }
        p=maxim(v[5009],v[i]);
        if(r!=p){
            v[5009].d=v[i].d;
            v[5009].l=v[i].l;
        }
    }
    printf("%d",q+p);
    return 0;

}