Cod sursa(job #2698952)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 23 ianuarie 2021 11:58:43
Problema Reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.43 kb
#include <fstream>

using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");

 long long a1,a2,S1,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6,S;

int main()
{
    f>>a1>>b1>>a2>>b2;
    f>>a3>>b3>>a4>>b4;
    f>>a5>>b5>>a6>>b6;

    S=(a2-a1)*(b2-b1)+(a4-a3)*(b4-b3)+(a6-a5)*(b6-b5);

    if(min(a2,a4)>=max(a1,a3) && min(b2,b4)>=max(b1,b3)) S=S-(min(a2,a4)-max(a1,a3))*(min(b2,b4)-max(b1,b3));
    if(min(a2,a6)>=max(a1,a5) && min(b2,b6)>=max(b1,b5)) S=S-(min(a2,a6)-max(a1,a5))*(min(b2,b6)-max(b1,b5));
    if(min(a4,a6)>=max(a3,a5) && min(b4,b6)>=max(b3,b5)) S=S-(min(a4,a6)-max(a3,a5))*(min(b4,b6)-max(b3,b5));

    if(min(min(a2,a4),a6)>=max(max(a1,a3),a5) && min(min(b2,b4),b6)>=max(max(b1,b3),b5) )S=S+(min(min(a2,a4),a6)-max(max(a1,a3),a5))*(min(min(b2,b4),b6)-max(max(b1,b3),b5));
    g<<S<<" ";


    S1=2*((a2-a1)+(b2-b1)+(a4-a3)+(b4-b3)+(a6-a5)+(b6-b5));
    if(min(a2,a4)>=max(a1,a3) && min(b2,b4)>=max(b1,b3)) S1=S1-2*((min(a2,a4)-max(a1,a3))+(min(b2,b4)-max(b1,b3)));
    if(min(a2,a6)>=max(a1,a5) && min(b2,b6)>=max(b1,b5))  S1=S1-2*((min(a2,a6)-max(a1,a5))+(min(b2,b6)-max(b1,b5)));
    if(min(a4,a6)>=max(a3,a5) && min(b4,b6)>=max(b3,b5)) S1=S1-2*((min(a4,a6)-max(a3,a5))+(min(b4,b6)-max(b3,b5)));
    if(min(min(a2,a4),a6)>=max(max(a1,a3),a5) && min(min(b2,b4),b6)>=max(max(b1,b3),b5) )S1=S1+2*((min(min(a2,a4),a6)-max(max(a1,a3),a5))+(min(min(b2,b4),b6)-max(max(b1,b3),b5)));

    g<<S1;
    return 0;
}