Cod sursa(job #1891222)
| Utilizator | Data | 23 februarie 2017 20:22:29 | |
|---|---|---|---|
| Problema | 12-Perm | Scor | 75 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("12perm.in");
ofstream out("12perm.out");
const int maxn = 15000005;
const int mod = (1 << 20);
int A[maxn];
int B[maxn];
int main()
{
int n;
in >> n;
A[1] = 1;
B[1] = 0;
A[2] = 2;
B[2] = 0;
A[3] = 4;
B[3] = 2;
A[4] = 8;
B[4] = 4;
for(int i = 5; i <= n; i++)
{
A[i] = A[i - 1] + A[i - 3] + 2;
B[i] = B[i - 1] + A[i - 2];
A[i] = A[i] % mod;
B[i] = B[i] % mod;
}
out << (A[n] + B[n]) % mod << "\n";
return 0;
}
