Cod sursa(job #180207)

Utilizator firewizardLucian Dobre firewizard Data 16 aprilie 2008 19:18:04
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>     
int c[30001],l[30001],a[30001],n,i,p;   
long long v[30001];   
  
int main()   
{   
  
 freopen("bilute.in","r",stdin);   
 freopen("bilute.out","w",stdout);   
  
 scanf("%d", &n);   
 for (i=1;i<=n;i++)   
    {   
     scanf("%d %d",&c[i],&l[i]);   
     a[i]=a[i-1]+c[i];   
    }
 for (i=2;i<=n;i++)   
    v[1]+=(i-1)*c[i]+c[i]*l[i];   
 for (i=2;i<=n;i++)   
    v[i]=v[i-1]-c[i]*l[i]+c[i-1]*l[i-1]+2*a[i-1]-a[n];   
 p=1;   
 for (i=2;i<=n;i++)   
    if (v[i]<v[p])   
        p=i;   
 printf("%d %lld", p, v[p]);
 return 0;   
}