Cod sursa(job #778457)

Utilizator danalex97Dan H Alexandru danalex97 Data 14 august 2012 20:12:44
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
using namespace std;

#define NMAX 30011
#define Big long long

int N,c[NMAX],l[NMAX],nr[NMAX];

int main()
{
	freopen("bilute.in", "r", stdin);
	freopen("bilute.out", "w", stdout);

	scanf("%d", &N);

	Big cc = 0;
	for (int i = 1; i <= N; i++) 
	{
		scanf("%d %d", &c[i], &l[i]);
		nr[i] = nr[i-1] + c[i];
		cc += l[i] * c[i] + (i - 1) * c[i];
	}

	Big rez = (Big) 1 << 60;
	int Rez = 0;
	for (int i = 1; i <= N; i++) 
	{
		if (cc - l[i] * c[i] < rez) rez = cc - l[i] * c[i], Rez = i;
		cc += nr[i] - (nr[N] - nr[i]);
	}

	printf("%d %lld\n", Rez, rez);
}