#include #include #include using namespace std; vector vp,psta,pstb; ifstream f("trapeze.in"); ofstream g("trapeze.out"); int n1,n2,a[100001],b[100001]; int i,j; long long ariahdr, ariahst, ariamax, nrperechi, rez; int main() { cout << "Hello world!" << endl; f >> n1; for (i=0;i> a[i]; f >> n2; for (i=0;i> b[i]; i=j=0; while (itrapez cu ele { xa2 = a[n1-1]; xb2 = b[n2-1]; baza1 = xa2 - xa1; baza2 = xb2 - xb1; ariahst = baza1+baza2; } else //punctele din capete sunt aliniate { if (nrdra==1 && nrdrb==1)//o singura pereche in dreapta aliniata=> niciun trapez spre dreapta ariahst=0; if (nrdra==1 && nrdrb>1)//1 punct pe a , mai multe pe b { xa2 = a[n1-1];//iau utimul si singurul de pe a xb2 = b[n2-2];//cu penultimul de pe b cu care sigur nu e aliniat baza1 = xa2 - xa1;baza2 = xb2 - xb1; ariahst = baza1+baza2; } if (nrdra>1 && nrdrb==1)//mai multe pe a, 1 pe b - analog { xa2 = a[n1-2]; xb2 = b[n2-1]; baza1 = xa2 - xa1;baza2 = xb2 - xb1; ariahst = baza1+baza2; } if (nrdra>1 && nrdrb>1) { xa2 = a[n1-1];//ultimul pe a, penultimul pe b xb2 = b[n2-2]; baza1 = xa2 - xa1; baza2 = xb2 - xb1; ariahst = baza1+baza2; xa2 = a[n1-2];//penultimul pe a, ultimul pe b xb2 = b[n2-1]; baza1 = xa2 - xa1; baza2 = xb2 - xb1; if (baza1+baza2 > ariahst) ariahst = baza1+baza2; } } cout << ariahst<trapez cu ele { xa1 = a[0]; xb1 = b[0]; baza1 = xa2 - xa1; baza2 = xb2 - xb1; ariahdr = baza1+baza2; } else //punctele din capete sunt aliniate { if (nrsta==1 && nrstb==1)//o singura pereche in dreapta aliniata=> niciun trapez spre dreapta ariahdr=0; if (nrsta==1 && nrstb>1)//1 punct pe a , mai multe pe b { xa1 = a[0];//iau primul si singurul de pe a xb1 = b[1];//cu al doilea de pe b cu care sigur nu e aliniat baza1 = xa2 - xa1;baza2 = xb2 - xb1; ariahdr = baza1+baza2; } if (nrsta>1 && nrstb==1)//mai multe pe a, 1 pe b - analog { xa1 = a[1]; xb1 = b[0]; baza1 = xa2 - xa1;baza2 = xb2 - xb1; ariahdr = baza1+baza2; } if (nrdra>1 && nrdrb>1) { xa1 = a[0];//primul pe a, al doilea pe b xb1 = b[1]; baza1 = xa2 - xa1; baza2 = xb2 - xb1; ariahdr = baza1+baza2; xa1 = a[1];//penultimul pe a, ultimul pe b xb1 = b[0]; baza1 = xa2 - xa1; baza2 = xb2 - xb1; if (baza1+baza2 > ariahdr) ariahdr = baza1+baza2; } } cout << ariahdr< ariahst? ariahdr: ariahst; cout << ariamax<