제출 #150732

#제출 시각아이디문제언어결과실행 시간메모리
150732----MIT합격선---- (#200)포도주 시음 (FXCUP4_wine)C++17
0 / 100
10 ms908 KiB
#include "bartender.h" std::vector<int> BlendWines(int K, std::vector<int> R){ int N = R.size(); std::vector<int> A(N); for(int i=0; i<N; i++) A[i] = (R[i]-1)%10+1; return A; }
#include "taster.h" using namespace std; bool ch(int a, int b){ return Compare(a,b)>0; } std::vector<int> SortWines(int K, std::vector<int> A) { int n = A.size(); vector<int> R(n), on; for(int i=0; i<n; i++) if(A[i]==1) on.push_back(i); int m = on.size(); if(on.size()==3U){ if(ch(on[0], on[1])) swap(on[0], on[1]); if(ch(on[1], on[2])) swap(on[1], on[2]); if(ch(on[0], on[1])) swap(on[0], on[1]); } if(on.size()==2U){ if(ch(on[0], on[1])) swap(on[0], on[1]); } if(on.size()==1U){ } for(int k=0; k<int(on.size()); k++) R[on[k]] = 10*k+1; for(int i=0; i<n; i++){ if(A[i]==1) continue; if(m==1) R[i] = A[i]; if(m==2){ if(ch(on[1], i)) R[i] = A[i]; else R[i] = 10+A[i]; } if(m==3){ if(ch(on[1], i)) R[i] = A[i]; else if(ch(on[2], i)) R[i] = 10+A[i]; else R[i] = 20+A[i]; } } return R; }
#Verdict Execution timeMemoryGrader output
Fetching results...