Pagini recente » Monitorul de evaluare | Profil asdfsfafafafafafafafa | Profil hurjui12Alexandru | Cod sursa (job #845543) | Cod sursa (job #192284)
Cod sursa(job #192284)
#include <fstream.h>
#include <iostream.h>
int xm, ym, n, *vx, *vy;
int contine (int x1, int y1, int x2, int y2)
{
for (int i = 0; i < n; i++)
if ((x1 < vx[i]) && (x2 > vx[i])) if ((y1 < vy[i]) && (y2 > vy[i])) return 1;
return 0;
}
int ariamax ()
{
int amax = 0;
for (int i = 0; i<n + 4; i++)
for (int j = 0; j < n + 4; j++)
{
if (i != j)
{
int a = (abs (vx[i] - vx[j]) * abs (vy[i] - vy[j]) );
if (a > amax) if (!contine (vx[i], vy[i], vx[j], vy[j])) amax = a;
}
}
return amax;
}
int main ()
{
ifstream f ("dr.in");
ofstream g ("dr.out");
int t;
f>>t;
for (int i = 0; i < t; i++)
{
f>>n>>xm>>ym;
for (int j = 0; j < n; j++)
f>>vx[j]>>vy[j];
vx[n] = vy[n] = 0;
vx[n+1] = xm;
vy[n+1] = ym;
vx[n+2] = 0;
vy[n+2] = ym;
vx[n+3] = xm;
vy[n+3] = 0;
g<<ariamax ()<<endl;
}
f.close ();
g.close ();
}