#include <cstdio>
#include <numeric>
#include <thread>
#include <vector>
void p2()
{
std::vector<int> data{};
data.resize(10000);
std::iota(data.begin(), data.end(), 0);
unsigned long sum = 0;
unsigned long gre = 0;
std::thread t1{[&]() {
for(const auto &num: data)
sum += num;
}};
std::thread t2{[&]() {
for(const auto &num: data)
{
if(num > 20)
++gre;
}
}};
t1.join();
t2.join();
fprintf(
stdout,
"Sum: %u\nGreater than 20: %u\n",
sum, gre
);
}
int main(int, const char **)
{
p2();
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPG51bWVyaWM+CiNpbmNsdWRlIDx0aHJlYWQ+CiNpbmNsdWRlIDx2ZWN0b3I+Cgp2b2lkIHAyKCkKewoJc3RkOjp2ZWN0b3I8aW50PiBkYXRhe307CglkYXRhLnJlc2l6ZSgxMDAwMCk7CglzdGQ6OmlvdGEoZGF0YS5iZWdpbigpLCBkYXRhLmVuZCgpLCAwKTsKCgl1bnNpZ25lZCBsb25nIHN1bSA9IDA7Cgl1bnNpZ25lZCBsb25nIGdyZSA9IDA7CgoJc3RkOjp0aHJlYWQgdDF7WyZdKCkgewoJCWZvcihjb25zdCBhdXRvICZudW06IGRhdGEpCgkJCXN1bSArPSBudW07Cgl9fTsKCXN0ZDo6dGhyZWFkIHQye1smXSgpIHsKCQlmb3IoY29uc3QgYXV0byAmbnVtOiBkYXRhKQoJCXsKCQkJaWYobnVtID4gMjApCgkJCQkrK2dyZTsKCQl9Cgl9fTsKCgl0MS5qb2luKCk7Cgl0Mi5qb2luKCk7CgoJZnByaW50ZigKCQlzdGRvdXQsCgkJIlN1bTogJXVcbkdyZWF0ZXIgdGhhbiAyMDogJXVcbiIsCgkJc3VtLCBncmUKCSk7Cn0KCmludCBtYWluKGludCwgY29uc3QgY2hhciAqKikKewoJcDIoKTsKCXJldHVybiAwOwp9