Cod sursa(job #161145)

Utilizator rethosPaicu Alexandru rethos Data 17 martie 2008 17:33:05
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <stdio.h>
#define NM 30001
int nr[NM],l[NM],s[NM];
long long sol[NM];
int n;
int main()
{freopen("bilute.in","r",stdin);
 freopen("bilute.out","w",stdout);
 scanf("%d",&n);
 int i;
 for (i=1;i<=n;i++)
    {scanf("%d %d",&nr[i],&l[i]);
     s[i]=s[i-1]+nr[i];
    }
 for (i=2;i<=n;i++) sol[1]+=((i-1)+l[i])*nr[i];
 for (i=2;i<=n;i++)
    sol[i]=sol[i-1]+nr[i-1]*l[i-1]-nr[i]*l[i]+s[i-1]-(s[n]-s[i-1]);
 int p=1;
 for (i=2;i<=n;i++)
    if(sol[i]<sol[p]) p=i;
 printf("%d %lld",p,sol[p]);
 return 0;
}