結果
| 問題 | No.482 あなたの名は |
| コンテスト | |
| ユーザー |
kekenx
|
| 提出日時 | 2020-02-02 16:30:24 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.89.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;
}
kekenx