Cod sursa(job #1412949)
Utilizator | oni2015 4ONI2015 | Data | 1 aprilie 2015 17:41:23 |
---|---|---|---|
Problema | Aria | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <bits/stdc++.h>
#define x first
#define y second
using namespace std;
pair<double, double>p[100005];
int n, i;
double aria;
int main()
{
freopen("aria.in", "r", stdin);
freopen("aria.out", "w", stdout);
scanf("%d", &n);
for(i = 1; i <= n; i++)
scanf("%lf%lf", &p[i].x, &p[i].y);
p[++n] = p[1];
for(i = 1; i < n; i++)
aria += (p[i].x * p[i + 1].y - p[i + 1].x * p[i].y);
if(aria < 0.0)
aria = -aria;
aria /= 2.0;
printf("%.10lf", aria);
return 0;
}