Cod sursa(job #1744259)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 19 august 2016 15:29:38
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
using namespace std;

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

const int MAXN = 30000;

int c[1 + MAXN], l[1 + MAXN], sp[1 + MAXN];

int main() {
    int n;
    cin >> n;
    int sum = 0;
    for (int i = 1; i <= n; i++) {
        cin >> c[i] >> l[i];
        sp[i] = sp[i - 1] + c[i];
        sum = sum + l[i] * c[i];
    }
    long long answer = 0, where = 1, add = 0;
    for (int i = 1; i <= n; i++)
        add = add + c[i] * (i - 1);
    answer = add + sum - l[1] * c[1];
    for (int i = 2; i <= n; i++) {
        add = add + (sp[i - 1]) * 2 - sp[n];
        if (add + sum - l[i] * c[i] < answer) {
            answer = add + sum - l[i] * c[i];
            where = i;
        }
    }
    cout << where << " " << answer << "\n";
    return 0;
}