Cod sursa(job #2365643)
Utilizator | Data | 4 martie 2019 15:29:40 | |
---|---|---|---|
Problema | Aria | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
struct punct
{
double x;
double y;
}v[100005];
int aria(int a, int b, punct A, punct B)
{
return A.x * B.y - A.y * B.x;
}
double s;
int n, i;
int main()
{
ifstream f("aria.in");
ofstream g("aria.out");
f >> n;
for(i = 1; i <= n; i ++)
f >> v[i].x >> v[i].y;
v[n + 1] = v[1];
for(i = 1; i <= n; i ++)
s = s + aria(0, 0, v[i], v[i + 1]);
if(s < 0)g << -s / 2;
else g << setprecision(5) << fixed << s / 2;
return 0;
}