# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
49821 | zetapi | 저울 (IOI15_scales) | C++14 | 4 ms | 608 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "scales.h"
#include "bits/stdc++.h"
using namespace std;
#define mp make_pair
#define pb push_back
void init(int T)
{
/* ... */
}
void erase(int X,vector<int> &f,vector<int> &s)
{
for(int A=0;A<f.size();A++)
if(f[A]==X)
{
f.erase(f.begin()+A);
return ;
}
for(int A=0;A<s.size();A++)
if(s[A]==X)
{
s.erase(s.begin()+A);
return ;
}
}
/*int getMedian(int X,int Y,int Z)
{
int arr[]={X,Y,Z};
sort(arr,arr+3);
return arr[1];
}
int getLightest(int X,int Y,int Z)
{
int arr[]={X,Y,Z};
sort(arr,arr+3);
return arr[0];
}
void answer(int W[])
{
}*/
void orderCoins()
{
/* ... */
int W[] = {1, 2, 3, 4, 5, 6};
vector<int> f(4),s(4),res;
f={getLightest(1,2,3),getMedian(1,2,3),6-(f[0]+f[1])};
s={getLightest(4,5,6),getMedian(4,5,6),15-(s[0]+s[1])};
f[2]=6-f[0]-f[1];
s[2]=15-s[0]-s[1];
while((!f.empty())||(!s.empty()))
{
if(f.empty())
{
while(!s.empty())
{
res.pb(*s.begin());
s.erase(s.begin());
}
}
else if(s.empty())
{
while(!f.empty())
{
res.pb(*f.begin());
f.erase(f.begin());
}
}
else if(f.size()==1 && s.size()==1)
{
res.pb(getMedian(res[0],f[0],s[0]));
res.pb(f[0]+s[0]-res.back());
erase(res[res.size()-2],f,s);
erase(res[res.size()-1],f,s);
}
else
{
if(res.empty())
{
res.pb(getLightest(f[0],f[1],s[0]));
erase(res.back(),f,s);
}
else
{
res.pb(getMedian(res[0],f[0],s[0]));
erase(res.back(),f,s);
}
}
/*cout<<" res ";
for(auto A:res)
cout<<A<<" ";
cout<<"\n f ";
for(auto A:f)
cout<<A<<" ";
cout<<"\n s ";
for(auto A:s)
cout<<A<<" ";*/
}
for(int A=0;A<6;A++)
W[A]=res[A];
answer(W);
}
/*int main()
{
ios_base::sync_with_stdio(false);
orderCoins();
return 0;
}*/
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |