Cod sursa(job #3295249)

Utilizator PetruApostolApostol Mihnea Petru PetruApostol Data 3 mai 2025 19:06:23
Problema Reuniune Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <fstream>
using namespace std;

ifstream cin("reuniune.in");
ofstream cout("reuniune.out");
#define int long long

struct pcte{
    int x1,y1,x2,y2;
} v[3];

int arie(int x1,int y1,int x2,int y2){
    if(x1>x2) return 0;
    if(y1>y2) return 0;
    return (x2-x1)*(y2-y1);
}

signed main()
{
    int i,j,maxx1=-1e18,minx1=1e18,maxx2=-1e18,minx2=1e18,maxy1=-1e18,miny1=1e18,maxy2=-1e18,miny2=1e18,rasp=0;
    for(i=0;i<3;i++){


        cin>>v[i].x1>>v[i].y1>>v[i].x2>>v[i].y2;

        maxx1=max(maxx1,v[i].x1);
        minx1=min(minx1,v[i].x1);

        maxx2=max(maxx2,v[i].x2);
        minx2=min(minx2,v[i].x2);

        maxy1=max(maxy1,v[i].y1);
        miny1=min(miny1,v[i].y1);

        maxy2=max(maxy2,v[i].y2);
        miny2=min(miny2,v[i].y2);
    }
    for(i=0;i<3;i++){
        rasp+=arie(v[i].x1,v[i].y1,v[i].x2,v[i].y2);
    }
    for(i=0;i<3;i++){
        for(j=i+1;j<3;j++){
            rasp-=arie(max(v[i].x1,v[j].x1),max(v[i].y1,v[j].y1),min(v[i].x2,v[j].x2),min(v[i].y2,v[j].y2));
        }
    }
    rasp+=arie(maxx1,maxy1,minx2,miny2);
    cout<<rasp<<" "<<(maxx2-minx1)*2+(maxy2-miny1)*2;
    return 0;
}