Cod sursa(job #273513)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 8 martie 2009 18:06:10
Problema Bilute Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#define lg_max 30005

struct pom
{
     long long c,l;
} a[lg_max];

long long s[lg_max],v[lg_max];
int n;

void citire()
{
    scanf ("%d",&n);
    for (int i=1; i<=n; ++i)
    {
        scanf ("%d%d",&a[i].c,&a[i].l);
        s[i]=s[i-1]+a[i].c;
    }
}
void solve ()
{
    int p_min=1;
    for (int i=2; i<=n; ++i)
        v[1]+=((i-1)*a[i].c+a[i].c*a[i].l);

    for (int i=2; i<=n; ++i)
        v[i]=v[i-1]+a[i-1].c*a[i-1].l-a[i].c*a[i].l+s[i-1]-(s[n]-s[i-1]);

    for (int i=2; i<=n; ++i)
        if(v[i]<v[p_min])
            p_min=i;
    printf("%d %lld",x,v[x]);
}
int main ()
{
    freopen ("bilute.in","r",stdin);
    freopen ("bilute.out","w",stdout);
    citire();
    solve();
    return 0;
}