Pagini recente » Cod sursa (job #415142) | Cod sursa (job #112114) | Cod sursa (job #727533) | Cod sursa (job #938830) | Cod sursa (job #2859319)
#include <iostream>
#include <fstream>
#define int long long
using namespace std;
ifstream fin("bilute.in");
ofstream fout("bilute.out");
struct nuanta{int C, L;};
const int N = 3e4, inf = 1e18 + 1;
nuanta v[N + 1];
int dp[N + 1], prefix[N + 1];
signed main(){
int n, sumL = 0;
fin >> n;
for(int i = 1; i <= n; i++){
fin >> v[i].C >> v[i].L;
sumL += (v[i].C * v[i].L);
prefix[i] = prefix[i - 1] + v[i].C;
dp[i] = dp[i - 1] + (i * v[i].C);
}
int ans = inf, i_choice = 0;
for(int i = 1; i <= n; i++){
int tmp = sumL - (v[i].C * v[i].L);
tmp += (i * prefix[i - 1]);
tmp -= (i * (prefix[n] - prefix[i]));
tmp -= dp[i - 1];
tmp += (dp[n] - dp[i]);
if(tmp < ans) ans = tmp, i_choice = i;
}
fout << i_choice << ' ' << ans;
return 0;
}