# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
261541 |
2020-08-11T20:45:35 Z |
amiratou |
Scales (IOI15_scales) |
C++14 |
|
1 ms |
384 KB |
#include "scales.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
vector<int> g[5]={{5,4,3,2,1},{3,2,1,4,5},{2,3,1,4,5},{3,4,2,5,1},{3,5,2,1,4}};
map<vector<int>,vector<int> > code;
vector<int> vec={1,2,3,4,5};
int pos[5];
int nxt(int a,int b,int c,int d){
vector<int> GG={a,b,c};
sort(GG.begin(),GG.end());
a=GG[0],b=GG[1],c=GG[2];
if(d>c)return vec[a];
if(d<a)return vec[a];
if(d<b)return vec[b];
if(d<c)return vec[c];
}
int light(int a,int b,int c){
return vec[min(a,min(b,c))];
}
int mid(int a,int b,int c){
vector<int> GG={a,b,c};
sort(GG.begin(),GG.end());
return vec[GG[1]];
}
int heavy(int a,int b,int c){
return vec[max(a,max(b,c))];
}
void init(int T) {
do{
for (int i = 0; i < 5; ++i)
pos[vec[i]]=i;
vector<int> id;
id.pb(light(pos[g[0][0]],pos[g[0][1]],pos[g[0][2]]));
id.pb(heavy(pos[g[1][0]],pos[g[1][1]],pos[g[1][2]]));
id.pb(nxt(pos[g[2][0]],pos[g[2][1]],pos[g[2][2]],pos[g[2][3]]));
id.pb(nxt(pos[g[3][0]],pos[g[3][1]],pos[g[3][2]],pos[g[3][3]]));
id.pb(nxt(pos[g[4][0]],pos[g[4][1]],pos[g[4][2]],pos[g[4][3]]));
code[id]=vec;
}while(next_permutation(vec.begin(),vec.end()));
}
void orderCoins() {
vector<int> ans;
int a,b;
vector<int> ID;
ID.pb(getLightest(g[0][0],g[0][1],g[0][2]));
ID.pb(getHeaviest(g[1][0],g[1][1],g[1][2]));
ID.pb(getNextLightest(g[2][0],g[2][1],g[2][2],g[2][3]));
ID.pb(getNextLightest(g[3][0],g[3][1],g[3][2],g[3][3]));
ID.pb(getNextLightest(g[4][0],g[4][1],g[4][2],g[4][3]));
ans=code[ID];
a=getNextLightest(ans[0],ans[2],ans[4],6);
if(a==ans[2]){
b=getMedian(6,ans[1],ans[2]);
if(b==6)ans.insert(ans.begin()+2,6);
else ans.insert(ans.begin()+1,6);
}
else if(a==ans[4]){
b=getMedian(6,ans[3],ans[4]);
if(b==6)ans.insert(ans.begin()+4,6);
else ans.insert(ans.begin()+3,6);
}
else{
b=getLightest(6,ans[0],ans[1]);
if(b==6)ans.insert(ans.begin(),6);
else ans.pb(6);
}
int W[6];
for (int i = 0; i < 6; ++i)
W[i]=ans[i];
answer(W);
}
Compilation message
scales.cpp: In function 'void init(int)':
scales.cpp:31:15: warning: unused parameter 'T' [-Wunused-parameter]
void init(int T) {
^
scales.cpp: In function 'int nxt(int, int, int, int)':
scales.cpp:18:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
2 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
3 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
4 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
5 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
6 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
7 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
8 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
9 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
10 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
11 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
12 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
13 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
14 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
15 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
16 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
17 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
18 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
19 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
20 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
21 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
22 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
23 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
24 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
25 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
26 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
27 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
28 |
Partially correct |
1 ms |
304 KB |
Output is partially correct |
29 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
30 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
31 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
32 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
33 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
34 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
35 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
36 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
37 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
38 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
39 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |
40 |
Partially correct |
1 ms |
384 KB |
Output is partially correct |