Pagini recente » Cod sursa (job #1490318) | Cod sursa (job #877718) | Cod sursa (job #2207087) | Cod sursa (job #780216) | Cod sursa (job #447396)
Cod sursa(job #447396)
#include<fstream>
# define nm 30001
using namespace std;
ifstream f("bilute.in");
ofstream g("bilute.out");
int main()
{ long n,s=0,i,nr[nm],st[nm],l[nm],c[nm],dr[nm],min,x;
f>>n;
//min=1ll<<63;
min=1<<30;
nr[0]=0;
for(i=1;i<=n;i++) { f>>l[i]>>c[i];//scanf("%lld%lld",&l[i],&c[i]);
s+=l[i]*c[i];
nr[i]=nr[i-1]+l[i];
}
st[1]=0;
for(i=2;i<=n;i++) st[i]=st[i-1]+nr[i-1];
dr[n]=0;
for(i=n-1;i;i--) dr[i]=dr[i+1]+nr[n]-nr[i];
for(i=1;i<=n;i++) if(s-l[i]*c[i]+dr[i]+st[i]<min)
min=s-l[i]*c[i]+dr[i]+st[i],x=i;
g<<x<<' '<<min;//printf("%lld %lld",x,min);
f.close();
g.close();
return 0;
}