Task: | Rabbits |
Sender: | bielaltes |
Submission time: | 2024-11-27 17:22:07 +0200 |
Language: | C++ (C++11) |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.16 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.16 s | details |
#4 | ACCEPTED | 0.16 s | details |
#5 | ACCEPTED | 0.16 s | details |
#6 | ACCEPTED | 0.16 s | details |
#7 | ACCEPTED | 0.17 s | details |
#8 | ACCEPTED | 0.16 s | details |
#9 | ACCEPTED | 0.16 s | details |
#10 | ACCEPTED | 0.16 s | details |
#11 | ACCEPTED | 0.17 s | details |
#12 | ACCEPTED | 0.17 s | details |
#13 | ACCEPTED | 0.18 s | details |
#14 | ACCEPTED | 0.16 s | details |
#15 | ACCEPTED | 0.17 s | details |
#16 | ACCEPTED | 0.16 s | details |
#17 | ACCEPTED | 0.16 s | details |
#18 | ACCEPTED | 0.17 s | details |
#19 | ACCEPTED | 0.16 s | details |
#20 | ACCEPTED | 0.17 s | details |
#21 | ACCEPTED | 0.16 s | details |
#22 | ACCEPTED | 0.18 s | details |
#23 | ACCEPTED | 0.16 s | details |
Code
#include <iostream> #include <string> #include <vector> using namespace std; int compare(string a, string b) { if (a.length() < b.length()) return -1; if (a.length() > b.length()) return 1; return a.compare(b); } string fib(int n) { if (n <= 0) return "0"; if (n == 1) return "1"; string a = "0", b = "1"; for (int i = 2; i <= n; i++) { string sum = ""; int carry = 0; int j = a.length() - 1; int k = b.length() - 1; while (k >= 0 || j >= 0 || carry) { int x = j >= 0 ? a[j] - '0' : 0; int y = k >= 0 ? b[k] - '0' : 0; int current = x + y + carry; carry = current / 10; sum = char(current % 10 + '0') + sum; j--; k--; } a = b; b = sum; } return b; } int main() { string a, b; cin >> a >> b; int count = 0; int month = 1; string current; while (true) { current = fib(month); if (compare(current, b) > 0) break; if (compare(current, a) >= 0 && compare(current, b) <= 0) { count++; } month++; } cout << count << endl; return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
1 1000000000000000000000000000... |
correct output |
---|
480 |
user output |
---|
480 |
Test 2
Verdict: ACCEPTED
input |
---|
1 1 |
correct output |
---|
2 |
user output |
---|
2 |
Test 3
Verdict: ACCEPTED
input |
---|
100000000000000000000000000000... |
correct output |
---|
0 |
user output |
---|
0 |
Test 4
Verdict: ACCEPTED
input |
---|
708610693340620844512521044951... |
correct output |
---|
0 |
user output |
---|
0 |
Test 5
Verdict: ACCEPTED
input |
---|
786632967217302919379405189471... |
correct output |
---|
0 |
user output |
---|
0 |
Test 6
Verdict: ACCEPTED
input |
---|
636957196297222930779072940972... |
correct output |
---|
0 |
user output |
---|
0 |
Test 7
Verdict: ACCEPTED
input |
---|
114612974378925787282507968062... |
correct output |
---|
3 |
user output |
---|
3 |
Test 8
Verdict: ACCEPTED
input |
---|
702530369037899946705172780410... |
correct output |
---|
0 |
user output |
---|
0 |
Test 9
Verdict: ACCEPTED
input |
---|
274453166590443997807512962944... |
correct output |
---|
0 |
user output |
---|
0 |
Test 10
Verdict: ACCEPTED
input |
---|
855307457139726034048493902602... |
correct output |
---|
0 |
user output |
---|
0 |
Test 11
Verdict: ACCEPTED
input |
---|
639748223313530085297872188565... |
correct output |
---|
0 |
user output |
---|
0 |
Test 12
Verdict: ACCEPTED
input |
---|
432993801671766821076571962007... |
correct output |
---|
1 |
user output |
---|
1 |
Test 13
Verdict: ACCEPTED
input |
---|
879671727283213079665539196480... |
correct output |
---|
1 |
user output |
---|
1 |
Test 14
Verdict: ACCEPTED
input |
---|
667785392416865594397610159182... |
correct output |
---|
0 |
user output |
---|
0 |
Test 15
Verdict: ACCEPTED
input |
---|
781364162388340525444583784264... |
correct output |
---|
1 |
user output |
---|
1 |
Test 16
Verdict: ACCEPTED
input |
---|
655747298541157143247235560738... |
correct output |
---|
0 |
user output |
---|
0 |
Test 17
Verdict: ACCEPTED
input |
---|
403413620814634912261621439265... |
correct output |
---|
0 |
user output |
---|
0 |
Test 18
Verdict: ACCEPTED
input |
---|
447646307232291168178477866864... |
correct output |
---|
1 |
user output |
---|
1 |
Test 19
Verdict: ACCEPTED
input |
---|
295276605018840332007572176705... |
correct output |
---|
5 |
user output |
---|
5 |
Test 20
Verdict: ACCEPTED
input |
---|
443559664146440701189824727251... |
correct output |
---|
2 |
user output |
---|
2 |
Test 21
Verdict: ACCEPTED
input |
---|
734298173292503577661407215818... |
correct output |
---|
0 |
user output |
---|
0 |
Test 22
Verdict: ACCEPTED
input |
---|
864568133527920094870111453259... |
correct output |
---|
0 |
user output |
---|
0 |
Test 23
Verdict: ACCEPTED
input |
---|
352783378945989078522092015452... |
correct output |
---|
0 |
user output |
---|
0 |