Cod sursa(job #2029840)

Utilizator NToniBoSSNicolae Tonitza NToniBoSS Data 30 septembrie 2017 15:32:52
Problema Bilute Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#include <stdlib.h>
int a[30001],b[30001];
long long v[30001];
int main()
{
    int n,i,dr=0,st=0,ind;
    long long min;
    freopen("bilute.in","r",stdin);
    freopen("bilute.out","w",stdout);
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        scanf("%d%d",&a[i],&b[i]);
        dr+=a[i]*(i>1);
        v[1]+=(a[i]*b[i]+a[i]*(i-1))*(i>1);
    }
    for(i=2; i<=n; i++)
    {
        st+=a[i-1];
        v[i]=v[i-1]-a[i]*b[i]+a[i-1]*b[i-1]-dr+st;
        dr-=a[i];
    }
    min=v[1];
    ind=1;
    for(i=2; i<=n; i++)
        if(min>v[i])
            min=v[i],ind=i;
    printf("%d %lld\n",ind,min);

    return 0;
}