結果
問題 |
No.1071 ベホマラー
|
ユーザー |
|
提出日時 | 2020-06-05 22:09:32 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,024 bytes |
コンパイル時間 | 1,527 ms |
コンパイル使用メモリ | 173,468 KB |
実行使用メモリ | 13,644 KB |
最終ジャッジ日時 | 2024-12-17 15:34:44 |
合計ジャッジ時間 | 35,791 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 2 |
other | AC * 5 WA * 4 TLE * 11 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define ll long long #define vi vector<int> #define vvi vector<vector<int>> #define all(a) (a).begin(), (a).end() #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rep2(i, s, n) for (int i = (s); i < (int)(n); i++) const int MOD = 1e9+7; const ll LINF = 1e18; const int INF = 1e9; ll A, B, C, D, E, F, G, H, N, M, L, K, P, Q, R, W, X, Y, Z; string S, T; int main() { cin >> N >> K >> X >> Y; vi arr(N); vi brr; for (int i = 0; i < N; i++) {cin >> A;arr.at(i) =A-1;} rep(i,N) { if(arr[i] > 0) { brr.push_back(arr[i]); } } while(!brr.empty()) { B = brr.size(); vi crr; ll minbrr = *min_element(all(brr)); ll rej = (minbrr/K+1); C += min(B*X,Y) * rej; rep(i,B) { brr[i] -= K *rej; if(brr[i] > 0) crr.push_back(brr[i]); } brr = crr; crr.clear(); } cout << C; return 0; }