Pagini recente » Cod sursa (job #112887) | Cod sursa (job #2268236) | Cod sursa (job #2545014) | Cod sursa (job #2508498) | Cod sursa (job #125343)
Cod sursa(job #125343)
//inundatii
#include<fstream.h>
long int n,x[50001],y[50001],z[50001],a=0,b=0,c=0,d;
long int mijloc(long int p, long int q)
{m=(p+q)/2;
if(x[m]<=a && y[m]<=b && z[m]<=c)
if(x[m+1]>=a && y[m+1]>=b && z[m+1]>=c)
return m;
else return mijloc(m+1,q);
else return mijloc(p,m);
}
int main()
{long int i,m;
ifstream f("inundatii.in");
ofstream g("inundatii.out');
f>>n;
for(i=1;i<=n;i++)
{f>>x[i]>>y[i]>>z[i];
a+=x[i]; b+=y[i]; c+=z[i];
}
a/=n; b/=n; c/=n;
m=mijloc(1,n);
for(i=1;i<=m;i++)
{d+=(a-x[i]); d+=(b-y[i]); d+=(c-z[i]);
d+=3*i;
}
for(i=m+1; i<=n;i++)
{d+=(x[i]-a); d+=(y[i]-b); d+=(z[i]-c]);
d+=3*(i-m);
}
if(m>(n-m)) d-=(3*m); else d-=3*(n-m);
g<<d<<'\n';
f.close();
g.close();
return 0;
}