結果
問題 |
No.2549 Paint Eggs
|
ユーザー |
|
提出日時 | 2024-04-05 10:12:32 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 251 ms / 2,000 ms |
コード長 | 680 bytes |
コンパイル時間 | 4,112 ms |
コンパイル使用メモリ | 250,732 KB |
最終ジャッジ日時 | 2025-02-20 20:17:36 |
ジャッジサーバーID (参考情報) |
judge5 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 45 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; using namespace atcoder; using ll = long long; using ld = long double; using mint = modint998244353; int N, M, K; int C[202020], A[202020]; ll cost[202020]; int main() { cin >> N >> M >> K; for (int i = 1; i <= N; i++) cin >> C[i]; for (int i = 1; i <= M; i++) cin >> A[i]; for (int i = 1; i <= M; i++) cost[i] = (ll)A[i] * K; for (int i = 1; i <= K; i++) cost[C[i]] -= A[C[i]]; ll mn = *min_element(cost + 1, cost + M + 1); for (int i = 1; i <= N - K; i++) { cost[C[i]] += A[C[i]]; cost[C[i + K]] -= A[C[i + K]]; mn = min(mn, cost[C[i + K]]); } cout << mn << endl; return 0; }