Pagini recente » Cod sursa (job #1392550) | Cod sursa (job #2806780) | Cod sursa (job #1236494) | Cod sursa (job #2418262) | Cod sursa (job #1325074)
#include <cstdio>
#define fin "bilute.in"
#define fout "bilute.out"
const long long MAX = 2001010100000000LL;
const int Nmax = 30100;
int N,a[Nmax],b[Nmax],cul;
long long smin = MAX;
long long s1,s2,sumL,sel,sel2;
int main()
{
int i;
freopen(fin,"r",stdin);
freopen(fout,"w",stdout);
scanf("%d",&N);
for (i=1;i<=N;++i)
{
scanf("%d%d",&a[i],&b[i]);
sumL+=a[i]*b[i];
s2 = s2 + a[i] * i;
sel += a[i];
}
for ( i = 1 ; i <= N ; ++i )
{
s2 -= sel;
sel-=a[i];
sel2+=a[i-1];
s1 = s1 + sel2;
if ( s1 + s2 + sumL - a[i] * b[i] < smin )
{
smin = s1 + s2 + sumL - a[i] * b[i];
cul = i;
}
// printf("%d %d\n",s1,s2);
}
printf("%d %lld\n",cul,smin);
return 0;
}