Pagini recente » Cod sursa (job #886618) | Cod sursa (job #2090841) | Cod sursa (job #1729158) | Cod sursa (job #3202666) | Cod sursa (job #447415)
Cod sursa(job #447415)
#include<cstdio>
using namespace std;
int main(void)
{
freopen("bilute.in","r",stdin);
freopen("bilute.out","w",stdout);
long long n, c[30001], l[30001], i;
long long cost=0;
scanf("%lld",&n);
long long bile[30001], poz, minim;bile[0]=0;
for(i=1; i<=n; ++ i)
{
scanf("%lld%lld",&c[i],&l[i]);
cost+=c[i]*l[i];
bile[i] = bile[i-1] + l[i];
}
long long left[30001];
left[1]=0;
for(i=2; i<=n; ++ i) left[i] = left[i-1] + bile[i-1];
long long right[30001];
right[n]=0;
minim = cost;
for(i=n-1; i>=1; -- i) right[i] = right[i+1] + bile[n] - bile[i+1];
for(i=1; i<=n; ++ i) if(cost - l[i] * c[i] + left[i] + right[i] < minim) minim = cost - l[i] * c[i] + left[i] + right[i], poz=i;
printf("%lld %lld",poz,minim);
return 0;
}