Pagini recente » Cod sursa (job #135235) | Cod sursa (job #1859259) | Cod sursa (job #2318162) | Cod sursa (job #2266660) | Cod sursa (job #1996642)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("bilute.in");
ofstream g("bilute.out");
int l[30001],c[30001],n;
void rezolvare_N2()
{
int i,j,minim=1000001,s,p=1;
for(i=1;i<=n;i++)
{
s=0;
for(j=1;j<=n;j++)
{
if(i!=j)
{
s=s+c[j]*l[j]+c[j]*abs(i-j);
}
}
if(s<minim)
{
minim=s;
p=i;
}
}
g<<p<<" "<<minim;
}
void rezolvare_N()
{
int i,j,minim=1000001,s,p=1;
if(n%2==0)
{
for(i=n/2;i<=(n/2)+1;i++)
{
s=0;
for(j=1;j<=n;j++)
{
if(i!=j)
{
s=s+c[j]*l[j]+c[j]*abs(i-j);
}
}
if(s<minim)
{
minim=s;
p=i;
}
}
}
else
{
for(i=n/2;i<=(n/2)+2;i++)
{
s=0;
for(j=1;j<=n;j++)
{
if(i!=j)
{
s=s+c[j]*l[j]+c[j]*abs(i-j);
}
}
if(s<minim)
{
minim=s;
p=i;
}
}
}
g<<p<<" "<<minim;
}
int main()
{
int i;
f>>n;
for(i=1;i<=n;i++)
{
f>>c[i]>>l[i];
}
if(n<=1000)
{
rezolvare_N2();
}
else
{
rezolvare_N();
}
return 0;
}