Cod sursa(job #3261427)

Utilizator 0021592Grecu rares 0021592 Data 5 decembrie 2024 20:01:42
Problema Wanted Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std;
ifstream in("wanted.in");
ofstream out("wanted.out");
int n, x[210], y[210], i, smax;
int abs(int x)
{
    if (x < 0)
        return -x;
    return x;
}
void cautbinrec(int st, int dr, int s, int prex, int prey)
{
    if (st > dr)
    {
        smax = max(smax, s);
        return;
    }
    int mid = (st+dr)>>1;
    cautbinrec(st, mid-1, s + y[mid] + abs(prex-x[mid]) + prey, x[mid], y[mid]);
    cautbinrec(mid+1, dr, s + y[mid] + abs(prex-x[mid]) + prey, x[mid], y[mid]);
}
int main()
{
    in >> n;
    for (i = 1; i <= n; i++)
        in >> x[i] >> y[i];
    cautbinrec(1, n, 0, 0, 0);
    out << smax;
    return 0;
}