Cod sursa(job #2365647)
| Utilizator | Data | 4 martie 2019 15:32:34 | |
|---|---|---|---|
| Problema | Aria | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <bits/stdc++.h>
using namespace std;
struct punct
{
long double x;
long double y;
}v[100005];
long double aria(int a, int b, punct A, punct B)
{
return A.x * B.y - A.y * B.x;
}
long 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(6) << fixed << s / 2;
return 0;
}
