# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
295665 |
2020-09-09T19:44:23 Z |
peti1234 |
Scales (IOI15_scales) |
C++17 |
|
28 ms |
512 KB |
#include <bits/stdc++.h>
#include "scales.h"
using namespace std;
const int cc=722, f=6;
vector<int> sz;
int ert[cc][f], inv[cc][f], pos, db, ki, t[3], re[f], q;
bool v[cc];
int ask(int a, int b, int c, int h) {
int x=0, y=0, z=0;
for (int i=0; i<pos; i++) if (v[i]) {
t[0]=inv[i][a], t[1]=inv[i][b], t[2]=inv[i][c];
sort(t, t+3), q=ert[i][t[h]];
if (a==q) x++;
if (b==q) y++;
if (c==q) z++;
}
return max({x, y, z});
}
void add(int a, int b, int c, int h, int ans) {
for (int i=0; i<pos; i++) if (v[i]) {
t[0]=inv[i][a], t[1]=inv[i][b], t[2]=inv[i][c];
sort(t, t+3);
if (ert[i][t[h]]!=ans) v[i]=0, db--;
}
}
void orderCoins() {
db=0, ki=0;
for (int i=0; i<pos; i++) v[i]=1, db++;
while(db>1) {
int a=1, b=1, c=1, h=0, mini=db, ans=0;
for (int x=0; x<f; x++) for (int y=x+1; y<f; y++) for (int z=y+1; z<f; z++) for (int e=0; e<3; e++) {
int p=ask(x, y, z, e);
if (p<mini) mini=p, a=x, b=y, c=z, h=e;
}
a++, b++, c++;
if (h==0) ans=getLightest(a, b, c);
if (h==1) ans=getMedian(a, b, c);
if (h==2) ans=getHeaviest(a, b, c);
a--, b--, c--, ans--;
add(a, b, c, h, ans);
}
for (int i=0; i<pos; i++) if (v[i]) ki=i;
for (int i=0; i<f; i++) re[i]=ert[ki][i]+1;
answer(re);
}
void init(int w) {
for (int i=0; i<f; i++) sz.push_back(i);
do {
for (int i=0; i<f; i++) inv[pos][i]=sz[i], ert[pos][sz[i]]=i;
pos++;
} while(next_permutation(sz.begin(), sz.end()));
}
Compilation message
scales.cpp: In function 'void init(int)':
scales.cpp:46:15: warning: unused parameter 'w' [-Wunused-parameter]
46 | void init(int w) {
| ~~~~^
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
2 |
Partially correct |
25 ms |
504 KB |
Output is partially correct |
3 |
Partially correct |
25 ms |
384 KB |
Output is partially correct |
4 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
5 |
Partially correct |
25 ms |
384 KB |
Output is partially correct |
6 |
Partially correct |
26 ms |
504 KB |
Output is partially correct |
7 |
Partially correct |
25 ms |
512 KB |
Output is partially correct |
8 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
9 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
10 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
11 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
12 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
13 |
Partially correct |
25 ms |
384 KB |
Output is partially correct |
14 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
15 |
Partially correct |
28 ms |
384 KB |
Output is partially correct |
16 |
Partially correct |
25 ms |
384 KB |
Output is partially correct |
17 |
Partially correct |
25 ms |
384 KB |
Output is partially correct |
18 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
19 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
20 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
21 |
Partially correct |
26 ms |
384 KB |
Output is partially correct |
22 |
Partially correct |
25 ms |
384 KB |
Output is partially correct |
23 |
Partially correct |
25 ms |
384 KB |
Output is partially correct |
24 |
Partially correct |
25 ms |
288 KB |
Output is partially correct |
25 |
Partially correct |
26 ms |
384 KB |
Output is partially correct |
26 |
Partially correct |
25 ms |
384 KB |
Output is partially correct |
27 |
Partially correct |
26 ms |
504 KB |
Output is partially correct |
28 |
Partially correct |
25 ms |
512 KB |
Output is partially correct |
29 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
30 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
31 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
32 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
33 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
34 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
35 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
36 |
Partially correct |
27 ms |
384 KB |
Output is partially correct |
37 |
Partially correct |
26 ms |
384 KB |
Output is partially correct |
38 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |
39 |
Partially correct |
25 ms |
384 KB |
Output is partially correct |
40 |
Partially correct |
24 ms |
384 KB |
Output is partially correct |