컴퓨터/문제 풀기

백준 2688번 줄어들지 않아

솥단디 2019. 5. 13. 22:31

처음에는 안됐는데 문제는 overflow였다.

모든 걸 long long으로 바꾸니 해결됐다.

#include <iostream>

using namespace std;

int main() {
	int T;
	cin >> T;
	if (T < 1 || T>1000) {
		return 0;
	}
	int *values = new int[T];
	for (int i = 0; i < T; i++) {
		cin >> values[i];
		if (values[i] < 1 || values[i]>64) {
			return 0;
		}
	}
	for(int i = 0; i<T; i++){
		long long arr[10] = { 1,1,1,1,1,1,1,1,1,1 };
		long long n = values[i];
		
		for (long long i = 0; i < n - 1; i++) {
			for (int j = 1; j < 10; j++) {
				arr[j] = arr[j - 1] + arr[j];
			}
		}
		long long result = 0;
		for (int i = 0; i < 10; i++) {
			result += arr[i];
		}
		cout << result << endl;
	}
}