Cod sursa(job #1122820)
| Utilizator | Data | 25 februarie 2014 20:37:45 | |
|---|---|---|---|
| Problema | 12-Perm | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin ("12perm.in");
ofstream fout ("12perm.out");
int N; int A[7];
const int MOD = (1 << 20) - 1;
int main() {
fin >> N;
A[0] = 1ll * 2;
A[1] = 1ll * 6;
A[2] = 1ll * 12;
for(int i = 3; i <= N - 2; ++i) {
A[ i % 3 ] = (A[(i + 2) % 3] + A[i % 3] + 2 * (i)) & MOD ;
}
fout << A[(N - 2) % 3];
return 0;
}
