Cod sursa(job #2572377)

Utilizator spartanul300Vasile Andrei spartanul300 Data 5 martie 2020 12:38:29
Problema Aria Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("aria.in");
ofstream g("aria.out");

struct punct
{
    double x,y;
}v[100100],O,punct1,punct2;

double afla_arie(punct A,punct B,punct C)
{
    double l1=sqrt((A.x-B.x)*(A.x-B.x) + (A.y-B.y)*(A.y-B.y));
    double l2=sqrt((A.x-C.x)*(A.x-C.x) + (A.y-C.y)*(A.y-C.y));
    double l3=sqrt((C.x-B.x)*(C.x-B.x) + (C.y-B.y)*(C.y-B.y));
    double p=(l1+l2+l3)/2;
    double rez=sqrt(p*(p-l1)*(p-l2)*(p-l3));

    return rez;
}

int n,y,i;
double sumax,ARIE,sumay;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>v[i].x>>v[i].y;
        sumax+=v[i].x;
        sumay+=v[y].y;
    }

    O.x=sumax/n;
    O.y=sumay/n;

    for(i=1;i<=n;i++)
    {
        punct1=v[i];
        if(i==n)punct2=v[1];
        else punct2=v[i+1];

        ARIE+=afla_arie(punct1,punct2,O);
    }

    g<<fixed<<setprecision(5)<<ARIE;
    return 0;
}