int main(int argc, const char *argv[]) { // 2D array if (argc < 2) return -1; int nb_threads = 4; if (argc > 2) nb_threads = atoi(argv[2]); tbb::task_scheduler_init init(nb_threads); std::cout << "array of size: " << atoi(argv[1]) << "x" << atoi(argv[1]) << std::endl; std::cout << "using " << nb_threads << " threads" << std::endl; auto array_2D = tools::generate_2D_array<int>(atoi(argv[1])); tools::print_vector(array_2D); auto sub_array_2D = get_max_subarray(array_2D); tools::print_vector(sub_array_2D); //Parallel 2D //auto parallel_array = tools::generate_2D_array<int>(4); auto sub_thread = parallel_max_subarray(array_2D); tools::print_vector(sub_thread); return 0; }
int main() { int line_count, line_index = 1; scanf("%d", &line_count); int sequence_length, sequence_index, sequence_data[100000]; while (line_index <= line_count) { scanf("%d", &sequence_length); sequence_index = 0; while (sequence_index < sequence_length) { scanf("%d", sequence_data + sequence_index); sequence_index++; } printf("Case %d:\n", line_index); #ifndef ONLINE_JUDGE printf("%d", sequence_length); int index = 0; for (index = 0; index < sequence_length; index++) printf(" %d", sequence_data[index]); printf("\n"); #endif int sum, index_begin, index_end; sum = get_max_subarray(sequence_data, sequence_length, &index_begin, &index_end); printf("%d %d %d\n", sum, index_begin, index_end); if (line_index < line_count) printf("\n"); line_index++; } return 0; }