B. 徐老师的特殊序列

    传统题 文件IO:sequence 1000ms 512MiB

徐老师的特殊序列

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

文件读写

本题使用文件输入输出,请在程序开头加入:

freopen("sequence.in", "r", stdin);
freopen("sequence.out", "w", stdout);

题目描述

徐老师有一个特殊的序列 a0,a1,a2,a3…ana_0,a_1,a_2,a_3 \dots a_n

这个序列满足两条规则:

  1. a0=a1=1a_0 = a_1 = 1 且 ai>0a_i > 0

  2. 对于任意整数 ii 和 k(k>0,i−2∗k≥0)k(k > 0, i - 2 * k \geq 0) 满足 ai−ai−k≠ai−k−ai−2∗ka_i - a_{i-k} \not= a_{i-k} - a_{i-2 * k}

现在徐老师准备从依次生成满足条件的 a2,a3,a4…ana_2,a_3,a_4 \dots a_n

对于徐老师正准备生成的数字 aia_i 来说,如果存在多个满足条件的数字,徐老师会选择最小的那个

现在徐老师想知道,他最终生成的序列中,ana_n 的值会是多少?

输入格式

输入一个整数 nn 表示要生成的序列长度

输出格式

输出一个整数表示 ana_n 的值

数据范围

对于 30%30\% 的数据满足 1≤n≤1001 \leq n \leq 100

对于 60%60\% 的数据满足 1≤n≤10001 \leq n \leq 1000

对于 100%100\% 的数据满足 1≤n≤20001 \leq n \leq 2000

5
2
8
4