Cod sursa(job #447393)

Utilizator ClasianMunteanu Petre Clasian Data 28 aprilie 2010 16:52:46
Problema Bilute Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<cstdio>
# define nm 30001
using namespace std;
int main()
{ freopen("bilute.in","r",stdin);
  freopen("bilute.out","w",stdout);
  int n,s=0,i,nr[nm],st[nm],l[nm],c[nm],dr[nm],min=1<<29,x;
  scanf("%d",&n);
  nr[0]=0;
  for(i=1;i<=n;i++) { scanf("%d%d",&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;
  printf("%d %d",x,min);
  fclose(stdin);
  fclose(stdout);
  return 0;  
}