Cod sursa(job #117373)

Utilizator DastasIonescu Vlad Dastas Data 21 decembrie 2007 12:21:35
Problema Bilute Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>

const int maxn = 30001;

FILE *in = fopen("bilute.in","r"), *out = fopen("bilute.out","w");

struct bila
{
    int c, l;
};

int n;
bila a[maxn];

void read()
{
    fscanf(in, "%d", &n);

    for ( int i = 1; i <= n; ++i )
        fscanf(in, "%d %d", &a[i].c, &a[i].l);
}

int myabs(int x)
{
    return x < 0 ? -x : x;
}

int main()
{
    read();

    int min = 1 << 29;
    int answ = 0;

    for ( int i = 1; i <= n; ++i )
    {
        int t = 0;
        for ( int j = 1; j <= n; ++j )
            if ( i != j )
                t = t + ((a[j].c * a[j].l) + (a[j].c * myabs(i-j)));

        if ( t < min )
            min = t, answ = i;
    }

    fprintf(out, "%d %d\n", answ, min);

	return 0;
}