Pagini recente » Diferente pentru problema/placute intre reviziile 18 si 23 | Borderou de evaluare (job #163875) | Cod sursa (job #1565591) | Diferente pentru utilizator/miricel intre reviziile 1 si 4 | Cod sursa (job #2506403)
#include <bits/stdc++.h>
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");
struct punct
{
long double x, y;
}a[100010];
int n;
long double aria;
int main()
{
f>>n;
for(int i=1; i<=n; i++)
f>>a[i].x>>a[i].y;
for(int i=1; i<n; i++)
aria+=a[i].x*a[i+1].y-a[i+1].x*a[i].y;
aria+=a[n].x*a[1].y-a[1].x*a[n].y;
if(aria<0)aria*=-1;
aria/=2.0;
g<<fixed<<setprecision(9)<<aria;
return 0;
}