Cod sursa(job #3316670)
| Utilizator | Data | 19 octombrie 2025 18:43:36 | |
|---|---|---|---|
| Problema | Aria | Scor | 100 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <stdio.h>
#include <stdlib.h>
struct punct {
long double x, y;
};
int main(void)
{
FILE* in = fopen("aria.in", "r");
FILE* out = fopen("aria.out", "w");
int n;
long double ans = 0;
fscanf(in, "%d", &n);
struct punct puncte[n + 1];
for (int i = 0; i < n; i++) {
fscanf(in, "%Lf %Lf", &puncte[i].x, &puncte[i].y);
}
puncte[n] = puncte[0];
for (int i = 0; i < n; i++) {
ans += (puncte[i].x * puncte[i + 1].y - puncte[i + 1].x * puncte[i].y) / 2.0;
}
fprintf(out, "%.6Lf\n", ans);
return 0;
}