Cod sursa(job #1839427)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 2 ianuarie 2017 21:35:34
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
double n,x[100005],y[100005],v[100005],x1[100005],y1[100005];
double s;
int i,ct;
int main()
{fin>>n;
 for(i=1;i<=n;i++)
    {fin>>x[i]>>y[i];
    }
 while(n>2)
    {ct=0;
     for(i=2;i<=n-1;i=i+2)
        {s=s+(double(x[i-1])*double(y[i])+double(x[i])*double(y[i+1])+double(y[i-1])*double(x[i+1])-double(x[i+1])*double(y[i])-double(x[i])*double(y[i-1])-double(x[i-1])*double(y[i+1]))/2;
         v[i]=1;
        }
     for(i=1;i<=n;i++)
        {if(v[i]==0){ct++;x1[ct]=x[i];y1[ct]=y[i];}
          else v[i]=0;
        }
     n=ct;
     for(i=1;i<=n;i++)
        {x[i]=x1[i];
        y[i]=y1[i];
        }
    }
 fout<<fixed<<setprecision(6)<<s;
}