Submission #149210

#TimeUsernameProblemLanguageResultExecution timeMemory
1492101 WA = 5 Push Up (#200)최적의 팀 구성 (FXCUP4_squad)C++17
19 / 100
3100 ms16852 KiB
#include "squad.h" #include <utility> #include <algorithm> using namespace std; vector<int> A, D, P; int N; pair<long long, long long> t1[300001],t2[300001]; void Init(std::vector<int> A_, std::vector<int> D_, std::vector<int> P_){ N = A_.size(); A = A_; D = D_; P = P_; } long long BestSquad(int X, int Y){ long long ret = -1; if(N < 10){ for(int i = 0; i < N; i++){ for(int j = 0; j < N; j++){ if(i==j) continue; ret = max(ret, 1ll*X*(A[i]+D[j])+1ll*Y*(P[i]+P[j])); } } return ret; } for(int i = 0; i < N; i++){ t1[i] = {1ll*X*A[i]+1ll*Y*P[i],i}; t2[i] = {1ll*X*D[i]+1ll*Y*P[i],i}; } sort(t1,t1+N); sort(t2,t2+N); for(int i = N-1; i >= N-5; i--){ for(int j = N-1; j >= N-5; j--){ if(i<0) continue; if(j<0) continue; if(t1[i].second == t2[j].second) continue; ret = max(ret,t1[i].first+t2[j].first); } } return ret; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...