結果
問題 |
No.116 門松列(1)
|
ユーザー |
![]() |
提出日時 | 2019-02-07 23:45:14 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 759 bytes |
コンパイル時間 | 1,525 ms |
コンパイル使用メモリ | 159,952 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-25 01:48:51 |
合計ジャッジ時間 | 2,333 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { // 1. 入力情報取得. int N; cin >> N; int A[N]; for(int i = 0; i < N; i++) cin >> A[i]; // 2. 門松列のカウント. // 順番を変えてはいけないとのこと. int ans = 0; for(int i = 2; i < N; i++){ int a[3] = {A[i - 2], A[i - 1], A[i]}; sort(a, a + 3); bool isPine = true; // cout << a[0] << " " << a[1] << " " << a[2] << endl; // 門松の判定. if(A[i - 2] != a[1] && A[i] != a[1]) isPine = false; // 門松列の判定. if(a[0] == a[1] || a[1] == a[2]) isPine = false; if(isPine) ans++; } // 3. 後処理. cout << ans << endl; return 0; }