Cod sursa(job #125146)

Utilizator sigridMaria Stanciu sigrid Data 20 ianuarie 2008 11:41:42
Problema Inundatii Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 3, Clasa a 10-a Marime 0.77 kb
#include<fstream.h>
#include<math.h>
#define dim 50001
unsigned long mat[dim][3],cont=3;
int main()
{ifstream f("inundatii.in");
 ofstream g("inundatii.out");
 unsigned long n,i,x,y,z,pct,man;

 f>>n;
 for(i=1;i<=n;i++)
  f>>mat[i][0]>>mat[i][1]>>mat[i][2];
f.close();

 if(n>=2)
  {if(n>=3) pct=n/2+1;
     else pct=n/2;
   //mut pct
   x=mat[pct][0]-1;
   y=mat[pct][1]-1;
   z=mat[pct][2]-1;
   //mut punctele mai mici decat pct
   man=1;
   for(i=(pct-1);i>=1;i--)
    {cont+=(mat[i][0]-x+man)+(mat[i][1]-y+man)+(mat[i][2]-z+man);
     man++;
    }
   //mut punctele mai mari decat pct
   //man=1;
   for(i=(pct+1);i<=n;i++)
    {x++;y++;z++;
     cont+=(x-mat[i][0])+(y-mat[i][1])+(z-mat[i][2]);
    }
  }

 g<<cont<<'\n';
g.close();
return 0;
}