結果
問題 | No.2852 Yakitori Optimization Problem |
ユーザー | w0t0 |
提出日時 | 2024-08-25 13:51:28 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 90 ms / 2,000 ms |
コード長 | 931 bytes |
コンパイル時間 | 2,805 ms |
コンパイル使用メモリ | 257,032 KB |
実行使用メモリ | 9,500 KB |
最終ジャッジ日時 | 2024-08-25 13:51:33 |
合計ジャッジ時間 | 5,088 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
#include <bits/stdc++.h> //#include <atcoder/all> //using namespace atcoder; //using mint = modint998244353; using namespace std; using ll= long long; using ull=unsigned long long; using ldo =long double; #define rep(i,n,k) for(ll i = k; i < (ll)(n); i++) template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; } template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; } const ll INF = 1e18; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; int main(){ ll N,K,ans=0; cin>>N>>K; ll A,B[N],C[N]; vector<pair<ll,ll>> BC(N); rep(i,N,0){ cin>>A; ans+=A; } rep(i,N,0)cin>>B[i]; rep(i,N,0){ cin>>C[i]; BC[i]=make_pair(B[i]-C[i],i); } sort(BC.rbegin(),BC.rend()); rep(i,K,0){ ans+=B[BC[i].second]; } rep(i,N,K){ ans+=C[BC[i].second]; } cout<<ans<<endl; }