#include <iostream>
#include <chrono>
#include <ctime>
int fibonacci(int n)
{
if (n < 3) return 1;
return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
std::chrono::time_point<std::chrono::system_clock> start, end;
start = std::chrono::system_clock::now();
int result = fibonacci(42);
end = std::chrono::system_clock::now();
int elapsed_seconds = std::chrono::duration_cast<std::chrono::seconds>
(end-start).count();
std::time_t end_time = std::chrono::system_clock::to_time_t(end);
std::cout << "finished computation at " << std::ctime(&end_time)
<< "elapsed time: " << elapsed_seconds << "s\n";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2hyb25vPgojaW5jbHVkZSA8Y3RpbWU+CiAKaW50IGZpYm9uYWNjaShpbnQgbikKewogICAgaWYgKG4gPCAzKSByZXR1cm4gMTsKICAgIHJldHVybiBmaWJvbmFjY2kobi0xKSArIGZpYm9uYWNjaShuLTIpOwp9CiAKaW50IG1haW4oKQp7CiAgICBzdGQ6OmNocm9ubzo6dGltZV9wb2ludDxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrPiBzdGFydCwgZW5kOwogICAgc3RhcnQgPSBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjpub3coKTsKICAgIGludCByZXN1bHQgPSBmaWJvbmFjY2koNDIpOwogICAgZW5kID0gc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6bm93KCk7CiAKICAgIGludCBlbGFwc2VkX3NlY29uZHMgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6c2Vjb25kcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZW5kLXN0YXJ0KS5jb3VudCgpOwogICAgc3RkOjp0aW1lX3QgZW5kX3RpbWUgPSBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0b190aW1lX3QoZW5kKTsKIAogICAgc3RkOjpjb3V0IDw8ICJmaW5pc2hlZCBjb21wdXRhdGlvbiBhdCAiIDw8IHN0ZDo6Y3RpbWUoJmVuZF90aW1lKQogICAgICAgICAgICAgIDw8ICJlbGFwc2VkIHRpbWU6ICIgPDwgZWxhcHNlZF9zZWNvbmRzIDw8ICJzXG4iOwp9