Cod sursa(job #151870)
#include<fstream.h>
ifstream f("bilute.in");
ofstream g("bilute.out");
#define N 30100
long long c[N], l[N], num, lu, b[N], cb[N], dupa, ca, aux, j, i, m, n;
int main()
{
f>>n;
for(i=1;i<=n;i++){
f>>c[i]>>l[i];
num = num + c[i];
lu = lu + c[i] * l[i];
b[i+1] = b[i] + c[i];
cb[i+1] = cb[i] + b[i+1];
}
m=200000000000LL;
for(i=n; i>=1; i--){
aux = cb[i] + lu - c[i] * l[i] + ca;
if( aux <= m ){
m=aux;
j=i;
}
dupa = dupa + c[i];
ca = ca + dupa;
}
g<<j<<" "<<m<<'\n';
g.close();
}