#include "scales.h"
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
#include <string>
using namespace std;
typedef int ll;
typedef unsigned long long int ull;
typedef long double ld;
#define REP(i,a,b) for(ll i=a; i<b; i++)
#define pb push_back
#define mp make_pair
#define pl pair<ll,ll>
#define ff first
#define ss second
#define INF ((ll) pow(2,63) -1)
#define gH getHeaviest
#define gL getLightest
#define gM getMedian
#define gNL getNextLightest
ll insig;
#define In(vecBRO, LENBRO) REP(IBRO,0,LENBRO) {cin>>insig; vecBRO.pb(insig);}
void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;}
ll Q;
/*void answer(ll x[])
{
REP(i,0,6) {cout<<x[i]<<" ";}
cout<<endl;
}
ll gH(ll x,ll y,ll z)
{
cout<<"gH "<<x<<" "<<y<<" "<<z<<" "<<endl;
ll answ; cin>>answ; return answ;
}
ll gL(ll x,ll y,ll z)
{
cout<<"gL "<<x<<" "<<y<<" "<<z<<" "<<endl;
ll answ; cin>>answ; return answ;
}
ll gM(ll x,ll y,ll z)
{
cout<<"gM "<<x<<" "<<y<<" "<<z<<" "<<endl;
ll answ; cin>>answ; return answ;
}
ll gNL(ll x,ll y,ll z)
{
cout<<"gNL "<<x<<" "<<y<<" "<<z<<" "<<endl;
ll answ; cin>>answ; return answ;
}*/
void init(int T)
{
}
void orderCoins()
{
vector<ll> t1, t2; REP(i,0,3) {t1.pb(0); t2.pb(0);}
ll q1,q2;
q1 = gH(1,2,3); q2 = gL(1,2,3);
t1[0]=q2; t1[2]=q1;
REP(i,1,4)
{
if(q1!=i && q2!=i) {t1[1]=i;}
}
ll q3, q4;
q3 = gH(4,5,6); q4 = gL(4,5,6);
t2[0]=q4; t2[2]=q3;
REP(i,4,7)
{
if(q3!=i && q4!=i) {t2[1]=i;}
}
ll q5 = gH(t1[2],t2[1],t2[2]); ll q6, q7,q8;
ll ans[6];
if(q5 == t1[2])
{
vector<ll> r1=t1; vector<ll> r2=t2;
REP(i,0,3) {t1[i]=r2[i]; t2[i]=r1[i];}
ans[5]=t2[2];
q6 = gM(t1[2],t2[0],t2[1]);
if(q6==t1[2])
{
ans[4]=t2[1]; ans[3]=t1[2];
q7=gM(t1[0],t1[1],t2[0]);
if(q7==t1[0])
{
ans[0]=t2[0]; ans[1]=t1[0]; ans[2]=t1[1];
}
else if(q7==t1[1])
{
ans[0]=t1[0]; ans[1]=t1[1]; ans[2]=t2[0];
}
else if(q7==t2[0])
{
ans[0]=t1[0]; ans[1]=t2[0]; ans[2]=t1[1];
}
q8=gM(1,2,3);
answer(ans);
}
else if(q6==t2[0])
{
ans[4]=t2[1]; ans[3]=t2[0]; ans[2]=t1[2]; ans[1]=t1[1]; ans[0]=t1[0];
q7 = gM(1,2,3); q8=gM(1,2,3);
answer(ans);
}
else if(q6==t2[1])
{
ans[4]=t1[2];
q7=gM(t1[0],t1[1],t2[0]);
q8=gM(t1[0],t1[1],t2[1]);
if(q7==t1[0] && q8==t1[0])
{
ans[0]=t2[0]; ans[1]=t2[1]; ans[2]=t1[0]; ans[3]=t1[1];
}
else if(q7==t1[0] && q8==t1[1])
{
ans[0]=t2[0]; ans[1]=t1[0]; ans[2]=t1[1]; ans[3]=t2[1];
}
else if(q7==t1[0] && q8==t2[1])
{
ans[0]=t2[0]; ans[1]=t1[0]; ans[2]=t2[1]; ans[3]=t1[1];
}
else if(q7==t1[1] && q8==t1[1])
{
ans[0]=t1[0]; ans[1]=t1[1]; ans[2]=t2[0]; ans[3]=t2[1];
}
else if(q7==t2[0] && q8==t1[1])
{
ans[0]=t1[0]; ans[1]=t2[0]; ans[2]=t1[1]; ans[3]=t2[1];
}
else if(q7==t2[0] && q8==t2[1])
{
ans[0]=t1[0]; ans[1]=t2[0]; ans[2]=t2[1]; ans[3]=t1[1];
}
answer(ans);
}
}
else if(q5 == t2[2])
{
ans[5]=t2[2];
q6 = gM(t1[2],t2[0],t2[1]);
if(q6==t1[2])
{
ans[4]=t2[1]; ans[3]=t1[2];
q7=gM(t1[0],t1[1],t2[0]);
if(q7==t1[0])
{
ans[0]=t2[0]; ans[1]=t1[0]; ans[2]=t1[1];
}
else if(q7==t1[1])
{
ans[0]=t1[0]; ans[1]=t1[1]; ans[2]=t2[0];
}
else if(q7==t2[0])
{
ans[0]=t1[0]; ans[1]=t2[0]; ans[2]=t1[1];
}
q8=gM(1,2,3);
answer(ans);
}
else if(q6==t2[0])
{
ans[4]=t2[1]; ans[3]=t2[0]; ans[2]=t1[2]; ans[1]=t1[1]; ans[0]=t1[0];
q7 = gM(1,2,3); q8=gM(1,2,3);
answer(ans);
}
else if(q6==t2[1])
{
ans[4]=t1[2];
q7=gM(t1[0],t1[1],t2[0]);
q8=gM(t1[0],t1[1],t2[1]);
if(q7==t1[0] && q8==t1[0])
{
ans[0]=t2[0]; ans[1]=t2[1]; ans[2]=t1[0]; ans[3]=t1[1];
}
else if(q7==t1[0] && q8==t1[1])
{
ans[0]=t2[0]; ans[1]=t1[0]; ans[2]=t1[1]; ans[3]=t2[1];
}
else if(q7==t1[0] && q8==t2[1])
{
ans[0]=t2[0]; ans[1]=t1[0]; ans[2]=t2[1]; ans[3]=t1[1];
}
else if(q7==t1[1] && q8==t1[1])
{
ans[0]=t1[0]; ans[1]=t1[1]; ans[2]=t2[0]; ans[3]=t2[1];
}
else if(q7==t2[0] && q8==t1[1])
{
ans[0]=t1[0]; ans[1]=t2[0]; ans[2]=t1[1]; ans[3]=t2[1];
}
else if(q7==t2[0] && q8==t2[1])
{
ans[0]=t1[0]; ans[1]=t2[0]; ans[2]=t2[1]; ans[3]=t1[1];
}
answer(ans);
}
}
return ;
}
/*int main()
{
vector<ll> coins; In(coins,6);
orderCoins();
return 0;
}*/
Compilation message
scales.cpp: In function 'void Out(std::vector<int>)':
scales.cpp:11:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define REP(i,a,b) for(ll i=a; i<b; i++)
scales.cpp:24:29:
void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;}
~~~~~~~~~~~~
scales.cpp:24:25: note: in expansion of macro 'REP'
void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;}
^~~
scales.cpp: In function 'void init(int)':
scales.cpp:57:15: warning: unused parameter 'T' [-Wunused-parameter]
void init(int T)
^
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
2 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
3 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
4 |
Partially correct |
2 ms |
380 KB |
Output is partially correct |
5 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
6 |
Partially correct |
2 ms |
380 KB |
Output is partially correct |
7 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
8 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
9 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
10 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
11 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
12 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
13 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
14 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
15 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
16 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
17 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
18 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
19 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
20 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
21 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
22 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
23 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
24 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
25 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
26 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
27 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
28 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
29 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
30 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
31 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
32 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
33 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
34 |
Partially correct |
2 ms |
376 KB |
Output is partially correct |
35 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
36 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
37 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
38 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
39 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |
40 |
Partially correct |
2 ms |
256 KB |
Output is partially correct |