Cod sursa(job #447398)

Utilizator ClasianMunteanu Petre Clasian Data 28 aprilie 2010 17:03:57
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream>
# define nm 30001
using namespace std;
ifstream f("bilute.in");
ofstream g("bilute.out");
int main()
{ long long n,s=0,i,nr[nm],st[nm],l[nm],c[nm],dr[nm],min,x;
  f>>n;
  min=1ll<<60;
  nr[0]=0;
  for(i=1;i<=n;i++) { f>>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; 
  f.close();
  g.close();
  return 0;  
}