Cod sursa(job #269238)

Utilizator DraStiKDragos Oprica DraStiK Data 2 martie 2009 17:52:56
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>
#define DIM 30005
#define ll long long
struct pom {ll c,l;} a[DIM];
ll s[DIM],v[DIM];
int n;
void read ()
{
    int i;
    scanf ("%d",&n);
    for (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 i,x=1;
    for (i=2; i<=n; ++i)
        v[1]+=((i-1)*a[i].c+a[i].c*a[i].l);
    for (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 (i=2; i<=n; ++i)
        if(v[i]<v[x])
            x=i;
    printf("%d %lld",x,v[x]);
}
int main ()
{
    freopen ("bilute.in","r",stdin);
    freopen ("bilute.out","w",stdout);
    read ();
    solve ();
    return 0;
}