結果
| 問題 |
No.3049 Contest Coordinator
|
| コンテスト | |
| ユーザー |
zawakasu
|
| 提出日時 | 2025-03-07 22:22:01 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,183 bytes |
| コンパイル時間 | 1,173 ms |
| コンパイル使用メモリ | 113,336 KB |
| 実行使用メモリ | 16,928 KB |
| 最終ジャッジ日時 | 2025-03-07 22:22:09 |
| 合計ジャッジ時間 | 7,280 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 14 WA * 18 TLE * 1 -- * 25 |
ソースコード
#include <iostream>
#include <iomanip>
#include <cassert>
#include <vector>
#include <algorithm>
#include <utility>
#include <numeric>
// #include "Src/Utility/BinarySearch.hpp"
// #include "Src/Sequence/CompressedSequence.hpp"
// #include "Src/Sequence/RunLengthEncoding.hpp"
// using namespace zawa;
// #include "atcoder/modint"
// using mint = atcoder::modint998244353;
int N, T, X, Y, D[500050];
std::vector<long long> solve() {
std::vector<long long> res(N, (long long)9e18);
std::vector<int> A(N - 1);
for (int i = 0 ; i + 1 < N ; i++) A[i] = (D[i + 1] - D[i] > T ? std::min(X, Y) : 0);
res[0] = 0;
for (int i = 0 ; i < N - 1 ; i++) {
long long s = 0LL;
for (int j = i ; j <= N - 1 ; j++) {
res[j - i] = std::min(res[j - i], s);
if (j < N - 1) s += A[j];
}
}
return res;
}
int main() {
std::cin.tie(nullptr);
std::cout.tie(nullptr);
std::ios::sync_with_stdio(false);
std::cin >> N >> T >> X >> Y;
for (int i = 0 ; i < N ; i++) std::cin >> D[i];
std::sort(D, D + N);
auto ans = solve();
for (int i = 0 ; i < N ; i++) std::cout << ans[i] << (i + 1 == N ? '\n' : ' ');
}
zawakasu