コード例 #1
0
ファイル: trt.c プロジェクト: asm123/Codechef
int revenue (int i, int j, int day)
{
	if (rev[i][j])
	  return rev[i][j];
	if (i == j)
	  rev[i][j] = n * v[i];
	else
	  rev[i][j] = max (day * v[i] + revenue (i+1, j, day + 1), day * v[j] + revenue (i, j-1, day + 1));
	return rev[i][j];
}
コード例 #2
0
ファイル: trt.c プロジェクト: asm123/Codechef
int main (void)
{
	int i, j;
	for (i = 0; i < 2001; i++)
	  for (j = 0; j < 2001; j++)
	    rev[i][j] = 0;
	n = read ();
	for (i = 0; i < n; i++)
	  v[i] = read ();
	printf ("%d\n", revenue (0, n-1, 1));
	return 0;
}
コード例 #3
0
ファイル: Book.cpp プロジェクト: erisproject/creativity
double Book::currRevenue() const {
    return revenue(simulation()->t());
}