#include <stdio.h>
#include <omp.h>
#define N 1000000 // Size of the array
int main() {
int arr[N];
long long sum = 0; // The sum of the array elements
// Initialize the array
for (int i = 0; i < N; i++) {
arr[i] = 1; // Set all elements to 1
}
// Parallel region with reduction to compute the sum
#pragma omp parallel for reduction(+:sum)
for (int i = 0; i < N; i++) {
sum += arr[i];
}
printf("The sum of the array is: %lld\n", sum
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxvbXAuaD4KCiNkZWZpbmUgTiAxMDAwMDAwICAvLyBTaXplIG9mIHRoZSBhcnJheQoKaW50IG1haW4oKSB7CiAgICBpbnQgYXJyW05dOwogICAgbG9uZyBsb25nIHN1bSA9IDA7ICAvLyBUaGUgc3VtIG9mIHRoZSBhcnJheSBlbGVtZW50cwoKICAgIC8vIEluaXRpYWxpemUgdGhlIGFycmF5CiAgICBmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewogICAgICAgIGFycltpXSA9IDE7ICAvLyBTZXQgYWxsIGVsZW1lbnRzIHRvIDEKICAgIH0KCiAgICAvLyBQYXJhbGxlbCByZWdpb24gd2l0aCByZWR1Y3Rpb24gdG8gY29tcHV0ZSB0aGUgc3VtCiAgICAjcHJhZ21hIG9tcCBwYXJhbGxlbCBmb3IgcmVkdWN0aW9uKCs6c3VtKQogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICBzdW0gKz0gYXJyW2ldOwogICAgfQoKICAgIHByaW50ZigiVGhlIHN1bSBvZiB0aGUgYXJyYXkgaXM6ICVsbGRcbiIsIHN1bSk7CgogICAgcmV0dXJuIDA7Cn0K