# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
604307 | wiwiho | 저울 (IOI15_scales) | C++14 | 2 ms | 256 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "scales.h"
#include <bits/stdc++.h>
#define iter(a) a.begin(), a.end()
#define lsort(a) sort(iter(a))
#define gsort(a) sort(iter(a), greater<>())
#define eb emplace_back
#define ef emplace_front
#define pob pop_back()
#define pof pop_front()
#define mp make_pair
#define F first
#define S second
#define uni(a) a.resize(unique(iter(a)) - a.begin())
#define printv(a, b){ \
for(auto pv : a) b << pv << " "; \
b << "\n"; \
}
using namespace std;
typedef long long ll;
typedef long double ld;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
template<typename A, typename B>
ostream& operator<<(ostream& o, pair<A, B> p){
return o << '(' << p.F << ',' << p.S << ')';
}
void init(int T){
}
void orderCoins(){
vector<int> v1, v2;
{
int l = getLightest(1, 2, 3);
int r = getHeaviest(1, 2, 3);
v1.eb(l);
v1.eb(l ^ r ^ 1 ^ 2 ^ 3);
v1.eb(r);
}
{
int l = getLightest(4, 5, 6);
int r = getHeaviest(4, 5, 6);
v2.eb(l);
v2.eb(l ^ r ^ 4 ^ 5 ^ 6);
v2.eb(r);
}
printv(v1, cerr);
printv(v2, cerr);
int lp = 0, rp = 1;
vector<vector<int>> hole(4);
for(int i = 0; i < 3; i++){
cerr << "test " << i << " " << lp << " " << rp << "\n";
int m = getMedian(v1[lp], v1[rp], v2[i]);
if(m == v1[lp]){
hole[lp].eb(v2[i]);
}
else if(m == v2[i]){
hole[rp].eb(v2[i]);
}
else{
if(rp == 1){
lp++;
rp++;
i--;
continue;
}
hole[rp + 1].eb(v2[i]);
}
}
vector<int> ans;
for(int i = 0; i < 4; i++){
for(int j : hole[i]) ans.eb(j);
if(i == 3) break;
ans.eb(v1[i]);
}
int av[6];
for(int i = 0; i < 6; i++) av[i] = ans[i];
answer(av);
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |