Cod sursa(job #244494)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 15 ianuarie 2009 10:19:17
Problema Bilute Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 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;
	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;
}