Submission #1053281
Source Code Expand
#include <bits/stdc++.h> using namespace std; int ans[500010] = { 2, 2, 1, 2, 1, 2, 1, 1, 2, 3, 1, 1 }; int nt[100]; int main() { int t; cin >> t; if (t) { int n = 300000, p = 12; while (p < n) ans[p++] = 1; printf("%d\n%d", n, *ans); for (int i = 1; i < n; ++i) printf(" %d", ans[i]); printf("\n"); } else { int n = 500000, ind = 0, aa = 99; ans[ind++] = 100; ans[ind++] = 100; for (int i = 0; i < 99; ++i) { int f = (ind + 3) % 4, h = (ind + 1) % 3; if (h == 2) { if (!f) { if (aa * 2 - 1 > 100) ans[ind++] = aa * 2 - 1; else ans[ind++] = aa--; } else if (f == 3) { if (ans[ind - 3] - 1 > 100) { ans[ind] = ans[ind - 3] - 1; ++ind; } else ans[ind++] = aa--; } else ans[ind++] = aa--; } else if (h == 1) { nt[aa] = 1; ans[ind++] = aa--; } else ans[ind++] = aa--; } int a = 99; while (ind < 299) { int f = (ind + 3) % 4; int h = (ind + 1) % 3; if (h == 1) { while (nt[a]) --a; ans[ind] = a--; } else ans[ind] = 100; ++ind; } while (ind < 401) { int f = (ind + 3) % 4; if (f == 3) { ans[ind] = ans[ind - 3]; ++ind; } else ans[ind++] = f ? 100 : 200; } while (ind < n) ans[ind++] = 1000000000; for (int i = 103; i < 299; i += 3) { int f = (i + 3) % 4; if (!f) ans[i] = ans[i + 1] + ans[i + 2]; if (f == 3) ans[i] = ans[i - 3]; } printf("%d\n%d", n, *ans); for (int i = 1; i < n; ++i) printf(" %d", ans[i]); printf("\n"); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | J - Just a Single Testcase |
User | riantkb |
Language | C++14 (GCC 5.4.1) |
Score | 50 |
Code Size | 2337 Byte |
Status | WA |
Exec Time | 27 ms |
Memory | 2048 KB |
Judge Result
Set Name | dataset1 | dataset2 | ||||
---|---|---|---|---|---|---|
Score / Max Score | 50 / 50 | 0 / 50 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
dataset1 | 1.txt |
dataset2 | 2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
1.txt | AC | 27 ms | 2048 KB |
2.txt | WA | 27 ms | 2048 KB |