Cod sursa(job #2078031)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 28 noiembrie 2017 20:17:52
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
using namespace std;
ifstream cin("aria.in");
ofstream cout("aria.out");
#define ll long double
struct fint
{
    ll x,y;
};
fint v[100005];
ll det(ll a11,ll a12,ll a13,ll a21,ll a22,ll a23,ll a31,ll a32,ll a33)
{
    return a11*a22*a33+a12*a23*a31+a21*a32*a13-a13*a22*a31-a21*a12*a33-a23*a32*a11;
}
ll sol=0;
int n;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>v[i].x>>v[i].y;
    v[n+1].x=v[1].x;
    v[n+1].y=v[1].y;
    for(int i=1;i<=n;i++)
    {
        ///e spre dreapta
        if(v[i].x<v[i+1].x)
            sol-=det(0,0,1,v[i].x,v[i].y,1,v[i+1].x,v[i+1].y,1);
        else
            sol+=det(0,0,1,v[i].x,v[i].y,1,v[i+1].x,v[i+1].y,1);
    }
    cout<<sol;
    return 0;
}