#include <omp.h>
#include <stdio.h>
int main() {
int sum = 0; // Initialize outer sum
#pragma omp parallel num_threads(5) firstprivate(sum)
{
int i; int local_sum = 0; // Declare a local sum
for (i = 0; i < 1000; i++) local_sum += 1;
//printf("Sum = %d\n", local_sum);
sum += local_sum; // Accumulate the local sums into the outer sum
}
return 0;
}
I2luY2x1ZGUgPG9tcC5oPgojaW5jbHVkZSA8c3RkaW8uaD4KCmludCBtYWluKCkgewppbnQgc3VtID0gMDsgLy8gSW5pdGlhbGl6ZSBvdXRlciBzdW0KICAgICNwcmFnbWEgb21wIHBhcmFsbGVsIG51bV90aHJlYWRzKDUpIGZpcnN0cHJpdmF0ZShzdW0pCiAgICB7CiAgICAgICAgaW50IGk7IGludCBsb2NhbF9zdW0gPSAwOyAvLyBEZWNsYXJlIGEgbG9jYWwgc3VtCiAgICAgICAgZm9yIChpID0gMDsgaSA8IDEwMDA7IGkrKykgbG9jYWxfc3VtICs9IDE7CiAgICAgICAgLy9wcmludGYoIlN1bSA9ICAlZFxuIiwgbG9jYWxfc3VtKTsKCiAgICAgICAgICAgIHN1bSArPSBsb2NhbF9zdW07IC8vIEFjY3VtdWxhdGUgdGhlIGxvY2FsIHN1bXMgaW50byB0aGUgb3V0ZXIgc3VtCgogICAgfQogICAgcHJpbnRmKCJTdW0gPSAlZFxuIiwgc3VtKTsKICAgIHJldHVybiAwOwoKfQ==