Cod sursa(job #253404)

Utilizator thebest001Neagu Rares Florian thebest001 Data 5 februarie 2009 19:12:02
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include<iostream.h>
#include<stdio.h>
#define fi(i,a,b) for(i=a;i<=b;i++)
FILE *f=fopen("bilute.in","r"),*g=fopen("bilute.out","w");
long long s[30001],c[30001];
int a[30001],b[30001];
int main()
{
	int n,i,j=1;
	fscanf(f,"%d",&n);
	fi(i,1,n)
	{fscanf(f,"%d %d",&a[i],&b[i]);c[i]=c[i-1]+a[i];if(i>1) s[1]+=(i-1)*a[i]+a[i]*b[i];}
	fi(i,2,n)
	{s[i]=s[i-1]+a[i-1]*b[i-1]-a[i]*b[i]+c[i-1]-c[n]+c[i-1];if(s[i]<s[j]) j=i;}
	fprintf(g,"%d %lld",j,s[j]);
	return 0;
}