Cod sursa(job #468025)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 1 iulie 2010 21:43:40
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#define ll long long

int c[30006],l[30005],poz,n;
ll st,dr,s,sol,val,sc;

int main ()
{
    int i;
    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]);
        s+=c[i]*l[i];
    }
    st=c[1];
    for(i=1;i<=n;i++)
    {
        sc+=(i-1)*c[i];
        dr+=c[i];
    }
    sol=sc+s-c[1]*l[1];
    dr-=st;
    for(i=2;i<=n;i++)
    {
        sc+=st;
        sc-=dr;
        val=sc+s-c[i]*l[i];
        if(val<sol)
        {
            poz=i;
            sol=val;
        }
        st+=c[i];dr-=c[i];
    }
    printf("%d %lld\n",poz,sol);
    return 0;
}