結果

問題 No.45 回転寿司
ユーザー syutaro
提出日時 2017-06-24 00:29:27
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 651 bytes
コンパイル時間 642 ms
コンパイル使用メモリ 67,460 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-03 04:03:35
合計ジャッジ時間 1,607 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 2
other AC * 7 WA * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:23:22: warning: ‘val’ may be used uninitialized [-Wmaybe-uninitialized]
   23 |     ans[0][1] = val[0];
      |                 ~~~~~^
main.cpp:15:9: note: ‘val’ declared here
   15 |     int val[1001];
      |         ^~~
main.cpp:25:22: warning: ‘val’ may be used uninitialized [-Wmaybe-uninitialized]
   25 |     ans[1][1] = val[1];
      |                 ~~~~~^
main.cpp:15:9: note: ‘val’ declared here
   15 |     int val[1001];
      |         ^~~

ソースコード

diff #

#include <iostream>
#include <cstdio>
#include <vector>
#include <list>
#include <map>
#include <queue>
#include <algorithm>
#define rep(i, n) for(int (i)=0; (i)<(n); ++(i))
using namespace std;

int main()
{
    int n;
    cin >> n;
    int val[1001];
    int ans[1001][2];
    rep(i,n) {
        int x;
        cin >> x;
        val[i] = x;
    }
    ans[0][0] = 0;
    ans[0][1] = val[0];
    ans[1][0] = val[0];
    ans[1][1] = val[1];

    for(int i=3; i<n; ++i) {
        ans[i][0] = max(ans[i-1][1], ans[i-2][1]);
        ans[i][1] = max(ans[i-1][0], ans[i-2][0]) + val[i];
    }

    cout << max(ans[n-1][0], ans[n-1][1]) << endl;
	return 0;
}
0