結果

問題 No.123 カードシャッフル
コンテスト
ユーザー kyotoku1483
提出日時 2025-11-08 10:48:18
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 12 ms / 5,000 ms
コード長 542 bytes
コンパイル時間 317 ms
コンパイル使用メモリ 27,440 KB
実行使用メモリ 7,716 KB
最終ジャッジ日時 2025-11-08 10:48:19
合計ジャッジ時間 1,497 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 10
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:5:5: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    5 |     scanf("%d%d", &n, &m);
      |     ^~~~~~~~~~~~~~~~~~~~~
main.c:7:33: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    7 |     for (int i = 0; i < m; ++i) scanf("%d", &a[i]);
      |                                 ^~~~~~~~~~~~~~~~~~

ソースコード

diff #

#include <stdio.h>

int main() {
    int n, m;
    scanf("%d%d", &n, &m);
    int a[m];
    for (int i = 0; i < m; ++i) scanf("%d", &a[i]);
    int cards[n + 1], work[n + 1];
    for (int i = 0; i < n; ++i) cards[i] = i + 1;
    for (int i = 0; i < m; ++i) {
        int j = a[i] - 1;
        work[0] = cards[j];
        for (int k = 0; k < j; ++k) work[k + 1] = cards[k];
        for (int k = j + 1; k <= n; ++k) work[k] = cards[k];
        for (int k = 0; k <= n; ++k) cards[k] = work[k];
    }
    printf("%d\n", cards[0]);
    return 0;
}
0