C11PF - Dãy số hoàn hảo

Tác giả: ladpro98

Ngôn ngữ: C++

#include <bits/stdc++.h>
const int N = 100005;
const int oo = 1000000000;
using namespace std;
int n, b, F[N];
int a[N];

int main()
{
    int i, ma = -oo;
    scanf("%d %d", &n, &b);
    for(i = 1; i <= n; i++) {
        scanf("%d", &a[i]); ma = max(ma, a[i]);
    }
    if (ma >= b) {printf("0\n0"); return 0;}
    if (a[1] == ma) printf("2\n"); else printf("1\n");
    F[1] = 1; F[2] = 2; F[3] = 3;
    for(i = 4; i <= n + 1; i++) F[i] = ((F[i - 1] + F[i - 1]) % oo - F[i - 3] + oo) % oo;
    printf("%d", F[n + 1]);
    return 0;
}

Download