Submission #789468

# Submission time Handle Problem Language Result Execution time Memory
789468 2023-07-21T12:19:01 Z AdamGS Art Class (IOI13_artclass) C++17
34 / 100
168 ms 13508 KB
#include "artclass.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
const int LIM=507;
ll C[LIM][LIM][3], F[LIM*LIM], ile[LIM*LIM], dx[]={1, 0, -1, 0}, dy[]={0, 1, 0, -1}, n, m;
bool podobne(int x1, int y1, int x2, int y2) {
	int sum=0;
	rep(i, 3) sum+=abs(C[x1][y1][i]-C[x2][y2][i]);
	return sum<=5;
}
bool ok(int a, int b) {
	return 0<=a && a<n && 0<=b && b<m;
}
int fnd(int x) {
	if(F[x]==x) return x;
	return F[x]=fnd(F[x]);
}
void uni(int x, int y) {
	if(fnd(x)==fnd(y)) return;
	ile[fnd(x)]+=ile[fnd(y)];
	F[fnd(y)]=fnd(x);
}
int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) {
	n=H; m=W;
	rep(i, n) rep(j, m) {
		C[i][j][0]=R[i][j];
		C[i][j][1]=G[i][j];
		C[i][j][2]=B[i][j];
		ile[i*m+j]=1;
		F[i*m+j]=i*m+j;
	}
	ll sum=0;
	rep(i, n-9) rep(j, m-9) {
		ll mi[3], ma[3];
		rep(a, 3) mi[a]=ma[a]=C[i][j][a];
		rep(a, 10) rep(b, 10) rep(c, 3) {
			mi[c]=min(mi[c], C[i+a][j+b][c]);
			ma[c]=max(ma[c], C[i+a][j+b][c]);
		}
		int li=0;
		rep(a, 3) li+=ma[a]-mi[a];
		if(li<20) ++sum;
	}
	if((ld)sum/(ld)(n*m)>0.01) {
		sum=0;
		rep(i, n) rep(j, m) if(C[i][j][0]+C[i][j][1]+C[i][j][2]<100) ++sum;
		//rep(i, n) rep(j, m) if(C[i][j][0]>=200 && C[i][j][1]>=200 && C[i][j][2]>=200) ++sum;
		//return sum;
		if(sum>1000) return 1;
		return 4;
	}
	sum=0;
	rep(i, n) rep(j, m) if(C[i][j][1]>2*max(C[i][j][0], C[i][j][2])) ++sum;
	if(sum>300) return 2;
	return 3;
}
# Verdict Execution time Memory Grader output
1 Correct 94 ms 11792 KB Output is correct
2 Incorrect 97 ms 8892 KB Output isn't correct
3 Correct 156 ms 13372 KB Output is correct
4 Incorrect 124 ms 11216 KB Output isn't correct
5 Incorrect 149 ms 13376 KB Output isn't correct
6 Correct 107 ms 8608 KB Output is correct
7 Correct 121 ms 12756 KB Output is correct
8 Correct 141 ms 13148 KB Output is correct
9 Incorrect 103 ms 12272 KB Output isn't correct
10 Incorrect 124 ms 12748 KB Output isn't correct
11 Correct 121 ms 12652 KB Output is correct
12 Incorrect 121 ms 12740 KB Output isn't correct
13 Correct 147 ms 12876 KB Output is correct
14 Incorrect 123 ms 11216 KB Output isn't correct
15 Correct 148 ms 13260 KB Output is correct
16 Incorrect 60 ms 5836 KB Output isn't correct
17 Correct 88 ms 7992 KB Output is correct
18 Correct 133 ms 11468 KB Output is correct
19 Correct 146 ms 13388 KB Output is correct
20 Correct 104 ms 12272 KB Output is correct
21 Correct 168 ms 13480 KB Output is correct
22 Incorrect 149 ms 13480 KB Output isn't correct
23 Incorrect 98 ms 9132 KB Output isn't correct
24 Correct 77 ms 7292 KB Output is correct
25 Correct 149 ms 13412 KB Output is correct
26 Correct 92 ms 8432 KB Output is correct
27 Correct 119 ms 12608 KB Output is correct
28 Correct 152 ms 13384 KB Output is correct
29 Correct 134 ms 12600 KB Output is correct
30 Correct 80 ms 7172 KB Output is correct
31 Correct 126 ms 12776 KB Output is correct
32 Correct 112 ms 10300 KB Output is correct
33 Correct 123 ms 12764 KB Output is correct
34 Incorrect 167 ms 13396 KB Output isn't correct
35 Incorrect 122 ms 12896 KB Output isn't correct
36 Incorrect 114 ms 10008 KB Output isn't correct
37 Incorrect 123 ms 10848 KB Output isn't correct
38 Correct 124 ms 12836 KB Output is correct
39 Incorrect 118 ms 10956 KB Output isn't correct
40 Incorrect 127 ms 11712 KB Output isn't correct
41 Incorrect 66 ms 5752 KB Output isn't correct
42 Correct 117 ms 10236 KB Output is correct
43 Correct 136 ms 12824 KB Output is correct
44 Correct 133 ms 11472 KB Output is correct
45 Correct 117 ms 12344 KB Output is correct
46 Correct 161 ms 12892 KB Output is correct
47 Incorrect 131 ms 11884 KB Output isn't correct
48 Incorrect 122 ms 10916 KB Output isn't correct
49 Correct 91 ms 11800 KB Output is correct
50 Correct 125 ms 12820 KB Output is correct
51 Correct 142 ms 13152 KB Output is correct
52 Correct 129 ms 13368 KB Output is correct
53 Incorrect 121 ms 11380 KB Output isn't correct
54 Incorrect 134 ms 10636 KB Output isn't correct
55 Correct 124 ms 12748 KB Output is correct
56 Correct 35 ms 7616 KB Output is correct
57 Correct 123 ms 12800 KB Output is correct
58 Incorrect 152 ms 13484 KB Output isn't correct
59 Correct 142 ms 13084 KB Output is correct
60 Incorrect 108 ms 9656 KB Output isn't correct
61 Incorrect 115 ms 10828 KB Output isn't correct
62 Correct 129 ms 12956 KB Output is correct
63 Incorrect 95 ms 11716 KB Output isn't correct
64 Incorrect 116 ms 10692 KB Output isn't correct
65 Correct 124 ms 12588 KB Output is correct
66 Correct 121 ms 12756 KB Output is correct
67 Incorrect 123 ms 12348 KB Output isn't correct
68 Incorrect 137 ms 10824 KB Output isn't correct
69 Correct 113 ms 11520 KB Output is correct
70 Correct 97 ms 8816 KB Output is correct
71 Correct 152 ms 13500 KB Output is correct
72 Correct 130 ms 12948 KB Output is correct
73 Correct 121 ms 11228 KB Output is correct
74 Correct 149 ms 13472 KB Output is correct
75 Correct 76 ms 10316 KB Output is correct
76 Incorrect 129 ms 11560 KB Output isn't correct
77 Correct 110 ms 10196 KB Output is correct
78 Correct 86 ms 11224 KB Output is correct
79 Correct 29 ms 2900 KB Output is correct
80 Correct 145 ms 13508 KB Output is correct
81 Incorrect 127 ms 11548 KB Output isn't correct
82 Correct 75 ms 7140 KB Output is correct
83 Correct 122 ms 12772 KB Output is correct
84 Incorrect 118 ms 10540 KB Output isn't correct
85 Incorrect 113 ms 10480 KB Output isn't correct
86 Correct 103 ms 12236 KB Output is correct
87 Correct 89 ms 11464 KB Output is correct
88 Correct 99 ms 12016 KB Output is correct
89 Correct 109 ms 10028 KB Output is correct
90 Incorrect 121 ms 12748 KB Output isn't correct
91 Correct 95 ms 11832 KB Output is correct
92 Incorrect 81 ms 10800 KB Output isn't correct
93 Incorrect 61 ms 5844 KB Output isn't correct
94 Correct 127 ms 11652 KB Output is correct
95 Incorrect 119 ms 12696 KB Output isn't correct
96 Incorrect 117 ms 12628 KB Output isn't correct
97 Correct 75 ms 7080 KB Output is correct
98 Correct 131 ms 11936 KB Output is correct
99 Incorrect 118 ms 10836 KB Output isn't correct
100 Correct 113 ms 11760 KB Output is correct
101 Incorrect 139 ms 12748 KB Output isn't correct
102 Incorrect 102 ms 12228 KB Output isn't correct