Cod sursa(job #2289328)
| Utilizator | Data | 24 noiembrie 2018 13:21:02 | |
|---|---|---|---|
| Problema | Infasuratoare convexa | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <stdio.h>
struct Point {
double x, y;
};
const int NMAX = 100005;
int N;
Point points[NMAX];
int main() {
freopen("aria.in", "r", stdin);
freopen("aria.out", "w", stdout);
scanf("%d", &N);
for (int i = 1; i <= N; ++i) {
scanf("%lf %lf", &points[i].x, &points[i].y);
}
double aria = 0.0;
points[N+1] = points[1];
for (int i = 1; i <= N; ++i) {
aria += (points[i].x * points[i+1].y - points[i+1].x * points[i].y);
}
printf("%.5lf\n", aria * 0.5);
fclose(stdin);
fclose(stdout);
return 0;
}
