Cod sursa(job #692744)

Utilizator coco19doubleco coco19 Data 26 februarie 2012 19:04:34
Problema Tribute Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <iostream>
#include <fstream>
#include <stdlib.h>
#define inf 2000000

using namespace std;

int n,dx,dy,vx[50000],vy[50000],m,p,d=0;
struct obiect
{
    int x[50000],y[50000];
};
obiect ob;
ifstream  fin("tribute.in");
ofstream  fout("tribute.out");

void citire()
{
   fin>>n>>dx>>dy;
    for (int i=0;i<n;i++)
        fin>>ob.x[i]>>ob.y[i];
}
void det_ter()
{
    int dimx=3+dx,dimy=1+dy,j=-1,k=-1;
    for (int i=3;i<=dimx;i++)
        {
            j++;
            vx[j]=i;
        }
    for (int i=1;i<=dimy;i++)
        {
            k++;
            vy[k]=i;
        }
    m=j;
    p=k;
}
void det_dist()
{
   int minx,miny;
   for (int i=0;i<n;i++)
   {
       minx=inf;miny=inf;
       for (int j=0;j<=m;j++)
            if (abs( ob.x[i]-vx[j]) < minx) minx=abs( ob.x[i]-vx[j]);
       for (int k=0;k<=m;k++)
            if (abs( ob.y[i]-vy[k]) < miny) miny=abs( ob.y[i]-vy[k]);
       d=d+miny+minx;
   }
}
int main()
{
    citire();
    det_ter();
    det_dist();
    fout<<d;
    return 0;
}