Cod sursa(job #2859273)

Utilizator LucaMihaiLM10Luca Ilie LucaMihaiLM10 Data 1 martie 2022 09:14:06
Problema Bilute Scor 100
Compilator cpp-64 Status done
Runda tagalaibas Marime 0.81 kb
#include <fstream>

#define int long long
#define MAX_N 30000

using namespace std;

int c[MAX_N + 1], l[MAX_N + 1], sL[MAX_N + 1], sC[MAX_N + 1], sumC[MAX_N + 1];

signed main() {
    ifstream cin( "bilute.in" );
    ofstream cout( "bilute.out" );

    int n, minT, t, cul, i;

    cin >> n;
    for ( i = 1; i <= n; i++ ) {
        cin >> c[i] >> l[i];
        sL[i] = sL[i - 1] + c[i] * l[i];
        sC[i] = sC[i - 1] + c[i];
        sumC[i] = sumC[i - 1] + c[i] * i;
    }

    minT = (1LL << 60);
    cul = 0;
    for ( i = 1; i <= n; i++ ) {
        t = sL[i - 1] + sL[n] - sL[i] + sC[i - 1] * i - sumC[i - 1] + sumC[n] - sumC[i] - i * (sC[n] - sC[i]);
        if ( t < minT ) {
            minT = t;
            cul = i;
        }
    }

    cout << cul << " " << minT;

    return 0;
}