Cod sursa(job #2531411)

Utilizator vmnechitaNechita Vlad-Mihai vmnechita Data 26 ianuarie 2020 11:43:01
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin ("aria.in");
ofstream fout ("aria.out");

struct Punct
{
    int x, y;
};

Punct v[10005];

bool crt ( Punct a, Punct b );
int aria_triunghi ( Punct a, Punct b, Punct c );

int main()
{
    int n, i, aria = 0;

    fin >> n;
    for ( i = 1 ; i <= n ; i++ ) fin >> v[i].x >> v[i].y;

    sort ( v + 2 , v + n + 1, crt );
    for ( i = 2 ; i < n ; i++ )
        aria += aria_triunghi ( v[1], v[i], v[i+1] );

    fout << aria;

    return 0;
}

bool crt ( Punct a, Punct b )
{
    if ( aria_triunghi ( v[1], a, b ) > 0 ) return 1;

    return 0;
}

int aria_triunghi ( Punct a, Punct b, Punct c )
{
    b.x -= a.x;
    b.y -= a.y;
    c.x -= a.x;
    c.y -= a.y;
    a.x = a.y = 0;

    return ( b.x * c.y - b.y * c.x ) / 2;
}