Pagini recente » Cod sursa (job #2919311) | Cod sursa (job #1313756) | Cod sursa (job #1537415) | Cod sursa (job #254093) | Cod sursa (job #3279238)
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
#include <algorithm>
#include <vector>
#include <array>
using namespace std;
#define ll long long
array<ll, 4> inter(array<ll, 4> a, array<ll, 4> b)
{
return {max(a[0], b[0]), max(a[1], b[1]), min(a[2], b[2]), min(a[3], b[3])};
}
ll rec(array<ll, 4> a)
{
return abs(a[2] - a[0]) * abs(a[3] - a[1]);
}
ll per(array<ll, 4> a)
{
return abs(a[2] - a[0]) + abs(a[3] - a[1]);
}
int main()
{
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
#ifdef FLAVIUUU
#define fin cin
#define fout cout
#endif // FLAVIUUU
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
vector<array<ll, 4>> a(3);
for(int i = 0; i < 3; i++)
fin>>a[i][0]>>a[i][1]>>a[i][2]>>a[i][3];
ll area = rec(a[0]) + rec(a[1]) + rec(a[2]) - rec(inter(a[0], a[1])) - rec(inter(a[1], a[2])) - rec(inter(a[0], a[2])) + rec(inter(inter(a[0], a[1]), a[2]));
ll perimetru = per(a[0]) + per(a[1]) + per(a[2]) - per(inter(a[0], a[1])) - per(inter(a[1], a[2])) - per(inter(a[0], a[2])) + per(inter(inter(a[0], a[1]), a[2]));
fout<<area<<" "<<2 * perimetru;
return 0;
}