Cod sursa(job #202554)

Utilizator drag0shSandulescu Dragos drag0sh Data 9 august 2008 17:33:19
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>

#define MAX 30001
FILE *f,*g;
int c[MAX],l[MAX],n,a[MAX];
long long v[MAX];

void citire(){
  int i;
  fscanf(f,"%d",&n);
  for(i=1;i<=n;i++){
    fscanf(f,"%d %d",&c[i],&l[i]);
    a[i]=a[i-1]+c[i];
  }
}

int main(){
  f=fopen("bilute.in","r");
  g=fopen("bilute.out","w");
  citire();
  int i,p;
  for (i=2;i<=n;i++)  v[1]+=(i-1)*c[i]+c[i]*l[i];     
  for (i=2;i<=n;i++)  v[i]=v[i-1]-c[i]*l[i]+c[i-1]*l[i-1]+2*a[i-1]-a[n];     
  p=1;     
  for (i=2;i<=n;i++) if (v[i]<v[p]) p=i;     

  fprintf(g,"%d %lld", p, v[p]);  

  
  fclose(f);
  fclose(g);
  return 0;
}