Pagini recente » Cod sursa (job #3292650) | Cod sursa (job #580655) | Cod sursa (job #3294681) | Cod sursa (job #2999215) | Cod sursa (job #2859411)
#include <iostream>
#include <fstream>
#define int long long
using namespace std;
ifstream fin ("bilute.in");
ofstream fout ("bilute.out");
const int NMAX = 30000;
int arrC[NMAX + 2], arrL[NMAX + 2];
int sp[NMAX + 2];
int spC[NMAX + 2];
signed main() {
int n, c, l, sumL, i;
fin >> n;
sumL = 0;
for (i = 1; i <= n; ++i) {
fin >> c >> l;
arrC[i] = c;
arrL[i] = l;
spC[i] = spC[i - 1] + c;
sp[i] = sp[i - 1] + c * i;
sumL += c * l;
}
int minn = (1ll << 62);
int pos = -1;
for (i = 1; i <= n; ++i) {
int ans = sumL - arrC[i] * arrL[i];
//cout << ans << "\n";
ans = ans + (i * spC[i - 1]) - sp[i - 1];
ans = ans + (sp[n] - sp[i]) - (i * (spC[n] - spC[i]));
if (minn > ans) {
minn = ans;
pos = i;
}
}
fout << pos << " " << minn << "\n";
return 0;
}