結果
問題 |
No.1959 Prefix MinMax
|
ユーザー |
![]() |
提出日時 | 2022-05-27 23:02:11 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 959 bytes |
コンパイル時間 | 1,920 ms |
コンパイル使用メモリ | 197,008 KB |
最終ジャッジ日時 | 2025-01-29 16:16:28 |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 1 |
other | WA * 31 |
ソースコード
#include <bits/stdc++.h> using namespace std; random_device rng_seed; mt19937_64 rng(rng_seed()); int main() { int n = 1000; vector<int> p(n); iota(p.begin(), p.end(), 0); for (int i = 0; i < 500; i++) { p.at(2 * i) = i; p.at(2 * i + 1) = 999 - i; } vector<int> a(n - 1); for (int i = 0; i < n - 1; i++) { a.at(i) = i % 2 == 0; } for (int i = 0; i < 10; i++) { vector<int> r(n); r.at(0) = p.at(0); for (int j = 0; j < n - 1; j++) { if (a.at(j) == 0) { r.at(j + 1) = min(r.at(j), p.at(j + 1)); } else { r.at(j + 1) = max(r.at(j), p.at(j + 1)); } } int count = 0; for (int j = 0; j < n - 1; j++) { if (r.at(j) == r.at(j + 1)) { count++; a.at(j) = 1 - a.at(j); } } cout << count << endl; } return 0; }