Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef int l;
- typedef long long int ll;
- #define loop(a, b) for(int i = a; i < b; i++)
- l seq[1000002];
- void precal(){
- seq[0] = 0; seq[1] = 1;
- seq[2] = 1; seq[3] = 2;
- for(l i = 4; i <= 1000000; i++){
- if(i&1){
- l j = (i>>1);
- seq[i] = seq[j] + seq[j+1];
- }else seq[i] = seq[(i>>1)];
- }
- }
- l max_seq[1000002];
- void precal1(){
- max_seq[0] = 0; max_seq[1] = 1;
- max_seq[2] = 1; max_seq[3] = 2;
- l ma = 2;
- for(l i = 4; i <= 1000000; i++){
- if(seq[i] > ma){
- max_seq[i] = seq[i];
- ma = seq[i];
- }else max_seq[i] = ma;
- }
- }
- int main()
- {
- run();
- precal();
- precal1();
- l n;while(cin >> n && n){
- cout << max_seq[n] << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement