Cod sursa(job #3148023)

Utilizator andiRTanasescu Andrei-Rares andiR Data 28 august 2023 23:17:00
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>

using namespace std;
typedef long long ll;
ifstream fin ("aria.in");
ofstream fout ("aria.out");

ll n;
pair<ll, ll> v[100000];
ll dist(ll X1, ll Y1, ll X2, ll Y2){
    return (X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1);
}
ll D(ll X1, ll Y1, ll X2, ll Y2, ll X3, ll Y3){
    return (X2-X1)*(Y3-Y1)-(X3-X1)*(Y2-Y1);
}
int main()
{
    fin>>n;
    for (int i=0; i<n; i++)
        fin>>v[i].first>>v[i].second;
    v[n]=v[0];
    ll sol=0;
    for (int i=0; i<n; i++)
        sol+=D(v[0].first, v[0].second, v[i].first, v[i].second, v[i+1].first, v[i+1].second);
    sol=abs(sol);
    if (sol%2==0)
        fout<<sol/2<<".0";
    else fout<<sol/2<<".5";
    return 0;
}