Cod sursa(job #416318)

Utilizator edp100Edp100 edp100 Data 12 martie 2010 15:49:51
Problema Inundatii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
int n,a[3][50001];
int func(int poz)
{
    int i,suma=0,smin,dif;
    for(i=n-1;i>=1;i--)
        suma+=a[poz][i]+n-a[poz][n]-i;
    smin=suma;
    for(i=n-1;i>=1;i--)
    {
        dif=a[poz][i]-a[poz][i+1];
        suma+=(n-i)*dif;
        suma-=i*dif;
        if(suma<smin)
            smin=suma;
    }
    return smin;
}
int main ()
{
    int i,j,s=0;
    freopen("inundatii.in","r",stdin);
    freopen("inundatii.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        for(j=0;j<3;j++)
            scanf("%d",&a[j][i]);
    for(i=0;i<3;i++)
        s+=func(i);
    printf("%d\n",s);
    return 0;
}