Pagini recente » Cod sursa (job #1452091) | Cod sursa (job #111175) | Cod sursa (job #3252598) | Cod sursa (job #2989240) | Cod sursa (job #447418)
Cod sursa(job #447418)
#include<fstream>
using namespace std;
int main(void)
{
ifstream fin("bilute.in");
ofstream fout("bilute.out");
long long n, c[30001], l[30001], i;
long long cost=0;
fin>>n;
long long bile[30001], poz, minim;bile[0]=0;
for(i=1; i<=n; ++ i)
{
fin>>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];
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;
fout<<poz<<" "<<minim<<"\n";
fin.close();
fout.close();
return 0;
}