Submission
Status:
[PP][PP][PP][PP][-S][-S][-S][-S][-S][-S]
Subtask/Task Score:
{10/10}{10/10}{10/10}{10/10}{0/10}{0/10}{0/10}{0/10}{0/10}{0/10}
Score: 40
User: FakeAnutin
Problemset: รถขนส่ง
Language: cpp
Time: 0.005 second
Submitted On: 2026-10-09 13:49:22
#include <bits/stdc++.h>
using namespace std;
int main(){
int oto[301];
int ott[301];
int otn[301];
int ttn[301];
int m,n; cin>>m>>n;
for(int i=1;i<=m;i++){
cin>>oto[i];
}
for(int i=1;i<=m;i++){
cin>>ott[i];
}
for(int i=1;i<=m;i++){
cin>>otn[i];
}
for(int i=1;i<=m;i++){
cin>>ttn[i];
}
sort(oto + 1,oto + m + 1);
sort(ott + 1,ott + m + 1);
sort(otn + 1,otn + m + 1);
sort(ttn + 1,ttn + m + 1);
vector<int> da;
for(int i=1;i<=m;i++){
int k=oto[i] + otn[m-i+1];
da.push_back(k);
}
for(int i=1;i<=m;i++){
int k=ott[i] + ttn[m-i+1];
da.push_back(k);
}
sort(da.begin(),da.end());
if(n == 2*m){
cout<<da[n-1];}
else if(n == 1){
cout<<min(oto[1]+otn[1],ott[1]+ttn[1]);
}else{
cout<<da[n-4];
}
}