結果
問題 | No.2056 非力なレッド |
ユーザー |
![]() |
提出日時 | 2022-09-22 02:35:15 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 88 ms / 2,000 ms |
コード長 | 604 bytes |
コンパイル時間 | 1,856 ms |
コンパイル使用メモリ | 168,632 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-22 04:38:15 |
合計ジャッジ時間 | 5,021 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int N, X, M; cin >> N >> X >> M; vector<int> A( N ); for( int i = 0; i < N; i++ ) cin >> A[i]; string ans = "Yes"; int j = 0; for( int i = N - 1; i >= 0; i-- ) { if( j == 0 ) { if( A[i] < X ) continue; while( A[i] >= X ) { j++; M -= i + 1; if( M < 0 ) { ans = "No"; break; } A[i] /= 2; } } else { A[i] >>= j; while( A[i] >= X ) { j++; M -= i + 1; if( M < 0 ) { ans = "No"; break; } A[i] /= 2; } } if( ans == "No" ) break; } cout << ans << endl; }