# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
401637 |
2021-05-10T15:32:21 Z |
rqi |
Art Class (IOI13_artclass) |
C++14 |
|
112 ms |
12872 KB |
#include "artclass.h"
#include <bits/stdc++.h>
using namespace std;
typedef long double db;
#define mp make_pair
#define f first
#define s second
#define pb push_back
int dx[8] = {1, 1, 0, -1, -1, -1, 0, 1};
int dy[8] = {0, 1, 1, 1, 0, -1, -1, -1};
int H;
int W;
int col[500][500][3];
db avg_diff[500][500];
db avg_pix[3];
db getContrast(){
db avg_tot = 0;
int avg_num = 0;
for(int i = 1; i+1 < H; i++){
for(int j = 1; j+1 < W; j++){
db tot_diff = 0;
for(int dir = 0; dir < 8; dir++){
for(int k = 0; k < 3; k++){
tot_diff+=abs(col[i][j][k]-col[i+dx[dir]][j+dy[dir]][k]);
}
}
avg_diff[i][j] = tot_diff/db(8*3);
avg_tot+=avg_diff[i][j];
avg_num++;
}
}
return avg_tot/avg_num;
}
void getAvgPix(){
db tot = 0;
for(int i = 0; i < H; i++){
for(int j = 0; j < W; j++){
for(int k = 0; k < 3; k++){
avg_pix[k]+=col[i][j][k];
}
tot+=1;
}
}
for(int k = 0; k < 3; k++){
avg_pix[k]/=tot;
}
}
pair<db, db> contrast_rang[4] = {mp(3.19, 11.8), mp(8.8, 20.3), mp(21.3, 42.9), mp(1.43, 3.3)};
db score[4];
pair<db, db> bright_rang[4] = {mp(126.7, 202), mp(68.6, 111.0), mp(100.9, 191.6), mp(48.3,161.9)};
db getPropOff(pair<db, db> a, db b){
db a_mid = (a.f+a.s)/2;
db a_diff = (a.s-a_mid);
return abs(b-a_mid)/a_diff;
}
int style(int _H, int _W, int _R[500][500], int _G[500][500], int _B[500][500]) {
cout << fixed << setprecision(1);
H = _H;
W = _W;
for(int i = 0; i < H; i++){
for(int j = 0; j < W; j++){
col[i][j][0] = _R[i][j];
col[i][j][1] = _G[i][j];
col[i][j][2] = _B[i][j];
}
}
db contrast = getContrast();
cout << contrast << "\n";
getAvgPix();
cout << avg_pix[0] << " " << avg_pix[1] << " " << avg_pix[2] << "\n";
db bright = (avg_pix[0]+avg_pix[1]+avg_pix[2])/3;
cout << bright << "\n";
for(int i = 0; i < 4; i++){
score[i] = getPropOff(contrast_rang[i], contrast)+getPropOff(bright_rang[i], bright);
}
vector<pair<db, int>> sorted_scores;
for(int i = 0; i < 4; i++){
sorted_scores.pb(mp(score[i], i));
}
sort(sorted_scores.begin(), sorted_scores.end());
for(int i = 0; i < 4; i++){
cout << sorted_scores[i].f << " " << sorted_scores[i].s+1 << "\n";
}
return sorted_scores[0].s+1;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
72 ms |
10688 KB |
Output isn't correct |
2 |
Incorrect |
86 ms |
10796 KB |
Output isn't correct |
3 |
Incorrect |
67 ms |
11716 KB |
Output isn't correct |
4 |
Incorrect |
27 ms |
9316 KB |
Output isn't correct |
5 |
Incorrect |
65 ms |
7924 KB |
Output isn't correct |
6 |
Incorrect |
45 ms |
10648 KB |
Output isn't correct |
7 |
Incorrect |
92 ms |
10600 KB |
Output isn't correct |
8 |
Incorrect |
78 ms |
10780 KB |
Output isn't correct |
9 |
Incorrect |
76 ms |
10696 KB |
Output isn't correct |
10 |
Incorrect |
74 ms |
8272 KB |
Output isn't correct |
11 |
Incorrect |
74 ms |
9812 KB |
Output isn't correct |
12 |
Incorrect |
37 ms |
5188 KB |
Output isn't correct |
13 |
Incorrect |
74 ms |
10908 KB |
Output isn't correct |
14 |
Incorrect |
67 ms |
8516 KB |
Output isn't correct |
15 |
Incorrect |
63 ms |
11624 KB |
Output isn't correct |
16 |
Incorrect |
72 ms |
10712 KB |
Output isn't correct |
17 |
Incorrect |
88 ms |
10776 KB |
Output isn't correct |
18 |
Incorrect |
65 ms |
10852 KB |
Output isn't correct |
19 |
Incorrect |
67 ms |
9404 KB |
Output isn't correct |
20 |
Incorrect |
80 ms |
9840 KB |
Output isn't correct |
21 |
Incorrect |
112 ms |
10692 KB |
Output isn't correct |
22 |
Incorrect |
18 ms |
2764 KB |
Output isn't correct |
23 |
Incorrect |
55 ms |
6844 KB |
Output isn't correct |
24 |
Incorrect |
71 ms |
8900 KB |
Output isn't correct |
25 |
Incorrect |
71 ms |
10764 KB |
Output isn't correct |
26 |
Incorrect |
57 ms |
6588 KB |
Output isn't correct |
27 |
Incorrect |
69 ms |
10788 KB |
Output isn't correct |
28 |
Incorrect |
69 ms |
9304 KB |
Output isn't correct |
29 |
Incorrect |
107 ms |
10920 KB |
Output isn't correct |
30 |
Incorrect |
72 ms |
11844 KB |
Output isn't correct |
31 |
Incorrect |
85 ms |
12200 KB |
Output isn't correct |
32 |
Incorrect |
95 ms |
12740 KB |
Output isn't correct |
33 |
Incorrect |
74 ms |
10692 KB |
Output isn't correct |
34 |
Incorrect |
49 ms |
6032 KB |
Output isn't correct |
35 |
Incorrect |
63 ms |
11716 KB |
Output isn't correct |
36 |
Incorrect |
50 ms |
6504 KB |
Output isn't correct |
37 |
Incorrect |
94 ms |
10332 KB |
Output isn't correct |
38 |
Incorrect |
67 ms |
8380 KB |
Output isn't correct |
39 |
Incorrect |
68 ms |
10760 KB |
Output isn't correct |
40 |
Incorrect |
76 ms |
10920 KB |
Output isn't correct |
41 |
Incorrect |
63 ms |
11624 KB |
Output isn't correct |
42 |
Incorrect |
62 ms |
11252 KB |
Output isn't correct |
43 |
Incorrect |
71 ms |
11908 KB |
Output isn't correct |
44 |
Incorrect |
86 ms |
12420 KB |
Output isn't correct |
45 |
Incorrect |
83 ms |
10692 KB |
Output isn't correct |
46 |
Incorrect |
51 ms |
10752 KB |
Output isn't correct |
47 |
Incorrect |
73 ms |
9432 KB |
Output isn't correct |
48 |
Incorrect |
76 ms |
9952 KB |
Output isn't correct |
49 |
Incorrect |
39 ms |
5136 KB |
Output isn't correct |
50 |
Incorrect |
57 ms |
10752 KB |
Output isn't correct |
51 |
Incorrect |
94 ms |
11204 KB |
Output isn't correct |
52 |
Incorrect |
87 ms |
12696 KB |
Output isn't correct |
53 |
Incorrect |
70 ms |
10120 KB |
Output isn't correct |
54 |
Incorrect |
94 ms |
9668 KB |
Output isn't correct |
55 |
Incorrect |
59 ms |
7648 KB |
Output isn't correct |
56 |
Incorrect |
72 ms |
10800 KB |
Output isn't correct |
57 |
Incorrect |
74 ms |
10720 KB |
Output isn't correct |
58 |
Incorrect |
69 ms |
9460 KB |
Output isn't correct |
59 |
Incorrect |
109 ms |
12732 KB |
Output isn't correct |
60 |
Incorrect |
90 ms |
12068 KB |
Output isn't correct |
61 |
Incorrect |
105 ms |
10684 KB |
Output isn't correct |
62 |
Incorrect |
87 ms |
11360 KB |
Output isn't correct |
63 |
Incorrect |
60 ms |
10884 KB |
Output isn't correct |
64 |
Incorrect |
69 ms |
10676 KB |
Output isn't correct |
65 |
Incorrect |
49 ms |
6536 KB |
Output isn't correct |
66 |
Incorrect |
62 ms |
10692 KB |
Output isn't correct |
67 |
Incorrect |
87 ms |
9328 KB |
Output isn't correct |
68 |
Incorrect |
80 ms |
9904 KB |
Output isn't correct |
69 |
Incorrect |
85 ms |
9648 KB |
Output isn't correct |
70 |
Incorrect |
95 ms |
11116 KB |
Output isn't correct |
71 |
Incorrect |
77 ms |
10796 KB |
Output isn't correct |
72 |
Incorrect |
48 ms |
4932 KB |
Output isn't correct |
73 |
Incorrect |
51 ms |
11456 KB |
Output isn't correct |
74 |
Incorrect |
87 ms |
10736 KB |
Output isn't correct |
75 |
Incorrect |
78 ms |
10680 KB |
Output isn't correct |
76 |
Incorrect |
60 ms |
10892 KB |
Output isn't correct |
77 |
Incorrect |
50 ms |
5956 KB |
Output isn't correct |
78 |
Incorrect |
92 ms |
12728 KB |
Output isn't correct |
79 |
Incorrect |
70 ms |
9412 KB |
Output isn't correct |
80 |
Incorrect |
76 ms |
12108 KB |
Output isn't correct |
81 |
Incorrect |
83 ms |
12036 KB |
Output isn't correct |
82 |
Incorrect |
85 ms |
12100 KB |
Output isn't correct |
83 |
Incorrect |
72 ms |
12020 KB |
Output isn't correct |
84 |
Incorrect |
75 ms |
9852 KB |
Output isn't correct |
85 |
Incorrect |
92 ms |
12392 KB |
Output isn't correct |
86 |
Incorrect |
105 ms |
10708 KB |
Output isn't correct |
87 |
Incorrect |
104 ms |
12080 KB |
Output isn't correct |
88 |
Incorrect |
78 ms |
10732 KB |
Output isn't correct |
89 |
Incorrect |
74 ms |
8228 KB |
Output isn't correct |
90 |
Incorrect |
85 ms |
11192 KB |
Output isn't correct |
91 |
Incorrect |
69 ms |
11804 KB |
Output isn't correct |
92 |
Incorrect |
108 ms |
12872 KB |
Output isn't correct |
93 |
Incorrect |
63 ms |
7376 KB |
Output isn't correct |
94 |
Incorrect |
68 ms |
9556 KB |
Output isn't correct |
95 |
Incorrect |
70 ms |
10188 KB |
Output isn't correct |
96 |
Incorrect |
75 ms |
10384 KB |
Output isn't correct |
97 |
Incorrect |
90 ms |
12808 KB |
Output isn't correct |
98 |
Incorrect |
87 ms |
10160 KB |
Output isn't correct |
99 |
Incorrect |
72 ms |
12144 KB |
Output isn't correct |
100 |
Incorrect |
58 ms |
11424 KB |
Output isn't correct |
101 |
Incorrect |
106 ms |
10700 KB |
Output isn't correct |
102 |
Incorrect |
77 ms |
9168 KB |
Output isn't correct |