View Code of Problem 64

#include<stdio.h>

int main(){
	int n, k, limit; //站台的总数N  初始车上的人数k
	while(scanf("%d %d %d", &n, &k, &limit) != EOF){
		if(n==0 && k==0 && limit==0) break;
		long long dp[n];
		dp[1] = k;
		dp[2] = k - k/2 + k;
		for(int i=3; i<n; i++){
			dp[i] = 2*dp[i-1] - dp[i-1]/2;
		}
		int j = 1;
		while(dp[j] < limit){
			j++;
		}
		printf("%d\n", dp[j]);
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 64