Submission #764636

#TimeUsernameProblemLanguageResultExecution timeMemory
764636idkhandle최적의 팀 구성 (FXCUP4_squad)C++17
19 / 100
3039 ms28948 KiB
#include "squad.h"

#include<algorithm>
using namespace std;
int N;
vector<long long>A,D,P;

void Init(std::vector<int> A, std::vector<int> D, std::vector<int> P){
	N = A.size();
	::A=vector<long long>(A.begin(),A.end());
	::D=vector<long long>(D.begin(),D.end());
	::P=vector<long long>(P.begin(),P.end());
}

long long BestSquad(int X, int Y){
    vector<long long>S(N),T(N),U(N),V(N);
    for(int i=0;i<N;i++){
        U[i]=A[i]*X+P[i]*Y;
        V[i]=D[i]*X+P[i]*Y;
        S[i]=T[i]=i;
    }
    sort(S.begin(),S.end(),[&](int i,int j){return U[i]>U[j];});
    sort(T.begin(),T.end(),[&](int i,int j){return V[i]>V[j];});
    if(S[0]!=T[0])return U[S[0]]+V[T[0]];
    return max(U[S[0]]+V[T[1]],U[S[1]]+V[T[0]]);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...