Cod sursa(job #2700501)

Utilizator VladMxPMihaila Vlad VladMxP Data 27 ianuarie 2021 21:40:43
Problema Reuniune Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <iostream>
#include <fstream>
#define ull unsigned long long
#define aria(a,b,c,d) (c-a)*(d-b)
#define perim(a,b,c,d) (c-a)*2+(d-b)*2

using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
ull x[5][5],y[5][5];
ull p,a;

int main()
{
    for(int i=1;i<=3;i++)
    {
        fin>>x[i][1]>>y[i][1]>>x[i][2]>>y[i][2];
        p+=perim(x[i][1],y[i][1],x[i][2],y[i][2]);
        a+=aria(x[i][1],y[i][1],x[i][2],y[i][2]);
    }
    for(int i=1;i<3;i++)
    {
        for(int j=i+1;j<=3;j++)
        {
            p-=perim(max(x[i][1],x[j][1]),max(y[i][1],y[j][1]),min(x[i][2],x[j][2]),min(y[i][2],y[j][2]));
            a-=aria(max(x[i][1],x[j][1]),max(y[i][1],y[j][1]),min(x[i][2],x[j][2]),min(y[i][2],y[j][2]));
        }
    }
    p+=perim(max(x[1][1],max(x[2][1],x[3][1])),max(y[1][1],max(y[2][1],y[3][1])),min(x[1][2],min(x[2][2],x[3][2])),min(y[1][2],min(y[2][2],y[3][2])));
    a+=aria(max(x[1][1],max(x[2][1],x[3][1])),max(y[1][1],max(y[2][1],y[3][1])),min(x[1][2],min(x[2][2],x[3][2])),min(y[1][2],min(y[2][2],y[3][2])));
    fout<<a<<" "<<p;
}