Cod sursa(job #236788)

Utilizator Mishu91Andrei Misarca Mishu91 Data 28 decembrie 2008 15:02:42
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>

#define MAX_N 30005

long long L[MAX_N], C[MAX_N], A[MAX_N], S[MAX_N];
int N;

void citire()
{
    scanf("%d", &N);

    for(int i = 1; i <= N; ++i)
    {
        scanf("%lld %lld",C+i, L+i);
        A[i] = A[i-1] + C[i];
    }
}

void solve()
{
    for(int i = 2; i <= N; ++i)
        S[1] += ((i - 1) * C[i] + C[i] * L[i]);

    for(int i = 2; i <= N; ++i)
        S[i] = S[i-1] + C[i-1] * L[i-1] - C[i] * L[i] + A[i-1] - (A[N] - A[i-1]);

    int x = 1;
    for(int i = 2; i <= N; ++i)
        if(S[i] < S[x])
            x = i;
    printf("%d %lld\n", x, S[x]);
}

int main()
{
    freopen("bilute.in","rt",stdin);
    freopen("bilute.out","wt",stdout);

    citire();
    solve();
}