Cod sursa(job #2779183)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 2 octombrie 2021 20:35:30
Problema Reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>
using namespace std;
ifstream F("reuniune.in");
ofstream G("reuniune.out");
struct D {
    int x,y,u,v;
};
long long d,p;
D a,b,c,x,y,z,t;
long long A(D a)
{
    return 1LL*(a.u-a.x)*(a.v-a.y);
}
long long P(D a)
{
    return 2LL*(a.u-a.x+a.v-a.y);
}
D R(D a,D b)
{
    D n;
    n.x=max(a.x,b.x),n.u=min(a.u,b.u),n.y=max(a.y,b.y),n.v=min(a.v,b.v);
    if(n.x>n.u||n.y>n.v)
        n.x=n.y=n.u=n.v=0;
    return n;
}
int main()
{
    F>>a.x>>a.y>>a.u>>a.v>>b.x>>b.y>>b.u>>b.v>>c.x>>c.y>>c.u>>c.v,x=R(a,b),y=R(a,c),z=R(b,c),t=R(x,c);
    d=A(a)+A(b)+A(c)-A(x)-A(y)-A(z)+A(t),p=P(a)+P(b)+P(c)-P(x)-P(y)-P(z)+P(t),G<<d<<" "<<p;
    return 0;
}