結果
問題 |
No.482 あなたの名は
|
ユーザー |
![]() |
提出日時 | 2020-02-02 16:30:24 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 735 bytes |
コンパイル時間 | 1,686 ms |
コンパイル使用メモリ | 169,600 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-18 21:13:17 |
合計ジャッジ時間 | 5,088 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 WA * 12 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll get_cnt(vector<int> &a) { int n = a.size(); if (n <= 1) return 0; ll cnt = 0; vector<int> b(a.begin(), a.begin() + n / 2); vector<int> c(a.begin() + n / 2, a.end()); cnt += get_cnt(b); cnt += get_cnt(c); int ai = 0, bi = 0, ci = 0; while (ai < n) { if (bi < b.size() && (ci == c.size() || b[bi] <= c[ci])) { a[ai++] = b[bi++]; } else { cnt += n / 2 - bi; a[ai++] = c[ci++]; } } return cnt; } int main() { int n; ll k; cin >> n >> k; vector<int> d(n); for (int i = 0; i < n; ++i) cin >> d[i]; ll cnt = get_cnt(d); if (cnt <= k) { puts("YES"); } else { puts("NO"); } return 0; }