Submission #72276403
Source Code Expand
Copy
#include <stdio.h>int cards[2][114514];int main(void) {int n, m;int i;int cur = 0;if (scanf("%d", &n) != 1) return 1;for (i = 0; i < 2 * n; i++) {cards[0][i] = i + 1;}if (scanf("%d", &m) != 1) return 1;for (i = 0; i < m; i++) {int next = cur ^ 1;int k;int j;if (scanf("%d", &k) != 1) return 1;if (k == 0) {for (j = 0; j < n; j++) {cards[next][j * 2] = cards[cur][j];
#include <stdio.h>
int cards[2][114514];
int main(void) {
int n, m;
int i;
int cur = 0;
if (scanf("%d", &n) != 1) return 1;
for (i = 0; i < 2 * n; i++) {
cards[0][i] = i + 1;
}
if (scanf("%d", &m) != 1) return 1;
for (i = 0; i < m; i++) {
int next = cur ^ 1;
int k;
int j;
if (scanf("%d", &k) != 1) return 1;
if (k == 0) {
for (j = 0; j < n; j++) {
cards[next][j * 2] = cards[cur][j];
cards[next][j * 2 + 1] = cards[cur][n + j];
}
} else {
for (j = 0; j < k; j++) {
cards[next][j + (n * 2 - k)] = cards[cur][j];
}
for (j = k; j < n * 2; j++) {
cards[next][j - k] = cards[cur][j];
}
}
cur = next;
}
for (i = 0; i < n * 2; i++) {
printf("%d\n", cards[cur][i]);
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - カードの並び替え |
| User | mikecat |
| Language | C23 (GCC 14.2.0) |
| Score | 100 |
| Code Size | 779 Byte |
| Status | AC |
| Exec Time | 1 ms |
| Memory | 1704 KiB |
Judge Result
| Set Name | set01 | set02 | set03 | set04 | set05 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 20 / 20 | 20 / 20 | 20 / 20 | 20 / 20 | 20 / 20 | ||||||||||
| Status |
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| set01 | data1 |
| set02 | data2 |
| set03 | data3 |
| set04 | data4 |
| set05 | data5 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| data1 | AC | 1 ms | 1616 KiB |
| data2 | AC | 1 ms | 1640 KiB |
| data3 | AC | 1 ms | 1588 KiB |
| data4 | AC | 1 ms | 1704 KiB |
| data5 | AC | 1 ms | 1588 KiB |