Cod sursa(job #992784)

Utilizator misinozzz zzz misino Data 2 septembrie 2013 16:15:11
Problema Wanted Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#include<algorithm>
#define INF 1LL<<60
#define x first
#define y second
using namespace std;
ifstream f("wanted.in");
ofstream g("wanted.out");
int i,n;
pair<int,int>a[203];
long long d[204][204][2];
inline int abs(int x)
{
    return x>0?x:-x;
}
inline long long dei(int li,int ls,int t)
{
    int s;
    if(li>ls)
    return 0;
    if(t<li)
    s=1;
    else
    s=0;
    if(d[li][ls][s]<INF&&d[li][ls][s])
    return d[li][ls][s];
    d[li][ls][s]=INF;
    for(int i=li;i<=ls;++i)
    {
        d[li][ls][s]=min(max(dei(li,i-1,i),dei(i+1,ls,i))+a[i].y+a[t].y+abs(a[i].x-a[t].x),d[li][ls][s]);
    }
    return d[li][ls][s];
}
int main()
{
    f>>n;
    for(i=1;i<=n;++i)
    {
        f>>a[i].x>>a[i].y;
    }
    sort(a+1,a+n+1);
    g<<dei(1,n,0)<<'\n';
    return 0;
}