# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
150732 | ----MIT합격선---- (#200) | 포도주 시음 (FXCUP4_wine) | C++17 | 10 ms | 908 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |