Cod sursa(job #1588784)

Utilizator Mihai9Oniga Mihai Mihai9 Data 3 februarie 2016 16:54:48
Problema Reuniune Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;struct drept{long long x,y,z,t;};
ifstream in("reuniune.in");ofstream out("reuniune.out");
inline drept sec(drept a,drept b){
    drept r;r.x=max(a.x,b.x);
    r.y=max(a.y,b.y);r.z=min(a.z,b.z);r.t=min(a.t,b.t);
    if(r.x>r.z || r.y>r.t){r.x=r.y=r.z=r.t=0;}return r;
}
inline long long s(drept a){return (a.z-a.x)*(a.t-a.y);}
inline long long p(drept a){return a.z-a.x+a.t-a.y<<1;}
int main()
{
    drept a,b,c;in>>a.x>>a.y>>a.z>>a.t>>b.x>>b.y>>b.z>>b.t>>c.x>>c.y>>c.z>>c.t;
    out<<s(a)+s(b)+s(c)-s(sec(a,b))-s(sec(c,b))-s(sec(a,c))+s(sec(sec(a,b),c))<<" ";
    out<<p(a)+p(b)+p(c)-p(sec(a,b))-p(sec(c,b))-p(sec(a,c))+p(sec(sec(a,b),c))<<"\n";
    return 0;
}