Submission #897474

# Submission time Handle Problem Language Result Execution time Memory
897474 2024-01-03T07:27:56 Z Faisal_Saqib Art Class (IOI13_artclass) C++17
0 / 100
5000 ms 17888 KB
#include "artclass.h"
/*
*/
#include <iostream>
#include <set>
#include <map>
#include <queue>
#define ll long long
using namespace std;
long long val(ll i,ll j,ll k)
{
	return (((i*256ll)+j)*256ll)+k;
}
int style(int n, int m, int R[500][500], int G[500][500], int B[500][500])
{
	int mx=-1*n*m;
	int mi=-mx;
	set<vector<int>> st;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			st.insert({R[i][j],G[i][j],B[i][j]});
			// run a bfs to find number of cell adjacent and equal
			queue<pair<int,int>> q;
			map<pair<int,int>,bool> vis;
			q.push({i,j});
			int sz=0;
			while(q.size())
			{
				auto f=q.front();
				sz++;
				q.pop();
				if((f.first>0) and R[f.first-1][f.second]==R[f.first][f.second] and G[f.first-1][f.second]==G[f.first][f.second] and B[f.first-1][f.second]==B[f.first][f.second] and !vis[{f.first-1,f.second}])
				{
					vis[{f.first-1,f.second}]=1;
					q.push({f.first-1,f.second});
				}
				if((f.second>0) and R[f.first][f.second-1]==R[f.first][f.second] and G[f.first][f.second-1]==G[f.first][f.second] and B[f.first][f.second-1]==B[f.first][f.second] and !vis[{f.first,f.second-1}])
				{
					vis[{f.first,f.second-1}]=1;
					q.push({f.first,f.second-1});
				}
				if((f.first<(n-1)) and R[f.first+1][f.second]==R[f.first][f.second] and G[f.first+1][f.second]==G[f.first][f.second] and B[f.first+1][f.second]==B[f.first][f.second] and !vis[{f.first+1,f.second}])
				{
					vis[{f.first+1,f.second}]=1;
					q.push({f.first+1,f.second});
				}
				if((f.second<(m-1)) and R[f.first][f.second+1]==R[f.first][f.second] and G[f.first][f.second+1]==G[f.first][f.second] and B[f.first][f.second+1]==B[f.first][f.second] and !vis[{f.first,f.second+1}])
				{
					vis[{f.first,f.second+1}]=1;
					q.push({f.first,f.second+1});
				}
			}
			mx=max(mx,sz);
			mi=min(mi,sz);
		}
	}
	if(mx<=(n+m+n+m))
	{
		// We check
		if(st.size()>=23)
			return 3;
		else
		{
			ll sum=0;
			for(int i=0;i<n;i++)
			{
				for(int j=0;j<m;j++)
				{
					sum+=val(R[i][j],G[i][j],B[i][j]);
				}
			}
			sum/=(n*m);
			if(sum>=(1e7))
			{
				return 4;
			}
			else
			{
				return 2;
			}
		}
	}
	else
	{
		return 1;
	}
}
# Verdict Execution time Memory Grader output
1 Incorrect 100 ms 12620 KB Output isn't correct
2 Correct 81 ms 11596 KB Output is correct
3 Incorrect 107 ms 14496 KB Output isn't correct
4 Incorrect 331 ms 6980 KB Output isn't correct
5 Incorrect 97 ms 11640 KB Output isn't correct
6 Incorrect 509 ms 8444 KB Output isn't correct
7 Incorrect 82 ms 11604 KB Output isn't correct
8 Incorrect 112 ms 11088 KB Output isn't correct
9 Correct 125 ms 17888 KB Output is correct
10 Execution timed out 5038 ms 7020 KB Time limit exceeded
11 Incorrect 97 ms 6952 KB Output isn't correct
12 Incorrect 1088 ms 5864 KB Output isn't correct
13 Incorrect 416 ms 9964 KB Output isn't correct
14 Incorrect 605 ms 7504 KB Output isn't correct
15 Incorrect 103 ms 14332 KB Output isn't correct
16 Execution timed out 5035 ms 8704 KB Time limit exceeded
17 Incorrect 53 ms 5968 KB Output isn't correct
18 Correct 65 ms 6484 KB Output is correct
19 Incorrect 107 ms 15092 KB Output isn't correct
20 Incorrect 214 ms 6736 KB Output isn't correct
21 Correct 73 ms 9268 KB Output is correct
22 Correct 61 ms 9044 KB Output is correct
23 Incorrect 111 ms 14676 KB Output isn't correct
24 Execution timed out 5043 ms 6328 KB Time limit exceeded
25 Incorrect 112 ms 13968 KB Output isn't correct
26 Incorrect 100 ms 10068 KB Output isn't correct
27 Correct 105 ms 14680 KB Output is correct
28 Incorrect 138 ms 6732 KB Output isn't correct
29 Incorrect 862 ms 6228 KB Output isn't correct
30 Correct 98 ms 13140 KB Output is correct
31 Correct 59 ms 10576 KB Output is correct
32 Incorrect 132 ms 9296 KB Output isn't correct
33 Incorrect 214 ms 12268 KB Output isn't correct
34 Incorrect 93 ms 10136 KB Output isn't correct
35 Incorrect 209 ms 5064 KB Output isn't correct
36 Incorrect 89 ms 10836 KB Output isn't correct
37 Correct 93 ms 10916 KB Output is correct
38 Correct 104 ms 9396 KB Output is correct
39 Correct 72 ms 12880 KB Output is correct
40 Incorrect 90 ms 10324 KB Output isn't correct
41 Incorrect 67 ms 6480 KB Output isn't correct
42 Incorrect 96 ms 6676 KB Output isn't correct
43 Incorrect 94 ms 8212 KB Output isn't correct
44 Incorrect 92 ms 7108 KB Output isn't correct
45 Incorrect 103 ms 13140 KB Output isn't correct
46 Incorrect 682 ms 8788 KB Output isn't correct
47 Execution timed out 5021 ms 6232 KB Time limit exceeded
48 Correct 23 ms 5212 KB Output is correct
49 Correct 58 ms 8144 KB Output is correct
50 Incorrect 85 ms 8176 KB Output isn't correct
51 Correct 83 ms 13392 KB Output is correct
52 Correct 111 ms 15256 KB Output is correct
53 Incorrect 116 ms 4172 KB Output isn't correct
54 Incorrect 60 ms 7764 KB Output isn't correct
55 Incorrect 95 ms 11132 KB Output isn't correct
56 Correct 104 ms 12928 KB Output is correct
57 Execution timed out 5032 ms 6872 KB Time limit exceeded
58 Incorrect 177 ms 7240 KB Output isn't correct
59 Correct 90 ms 12368 KB Output is correct
60 Incorrect 103 ms 14832 KB Output isn't correct
61 Incorrect 203 ms 8132 KB Output isn't correct
62 Incorrect 112 ms 14160 KB Output isn't correct
63 Incorrect 83 ms 7508 KB Output isn't correct
64 Incorrect 97 ms 7252 KB Output isn't correct
65 Incorrect 227 ms 7248 KB Output isn't correct
66 Execution timed out 5057 ms 9300 KB Time limit exceeded
67 Incorrect 121 ms 12116 KB Output isn't correct
68 Correct 105 ms 15440 KB Output is correct
69 Correct 99 ms 11856 KB Output is correct
70 Incorrect 102 ms 8900 KB Output isn't correct
71 Incorrect 419 ms 8020 KB Output isn't correct
72 Incorrect 225 ms 7836 KB Output isn't correct
73 Correct 48 ms 8020 KB Output is correct
74 Incorrect 60 ms 9812 KB Output isn't correct
75 Correct 83 ms 11020 KB Output is correct
76 Incorrect 84 ms 9040 KB Output isn't correct
77 Incorrect 404 ms 6532 KB Output isn't correct
78 Correct 117 ms 14676 KB Output is correct
79 Execution timed out 5008 ms 6816 KB Time limit exceeded
80 Incorrect 102 ms 13396 KB Output isn't correct
81 Incorrect 90 ms 8528 KB Output isn't correct
82 Incorrect 254 ms 8016 KB Output isn't correct
83 Incorrect 183 ms 7000 KB Output isn't correct
84 Incorrect 73 ms 9812 KB Output isn't correct
85 Incorrect 85 ms 8980 KB Output isn't correct
86 Incorrect 81 ms 9296 KB Output isn't correct
87 Incorrect 85 ms 8788 KB Output isn't correct
88 Correct 78 ms 10716 KB Output is correct
89 Correct 77 ms 7880 KB Output is correct
90 Incorrect 99 ms 12368 KB Output isn't correct
91 Incorrect 99 ms 6884 KB Output isn't correct
92 Incorrect 94 ms 9704 KB Output isn't correct
93 Correct 106 ms 14676 KB Output is correct
94 Correct 4921 ms 5972 KB Output is correct
95 Incorrect 129 ms 6740 KB Output isn't correct
96 Correct 77 ms 11860 KB Output is correct
97 Incorrect 111 ms 13396 KB Output isn't correct
98 Incorrect 104 ms 13140 KB Output isn't correct
99 Correct 53 ms 10320 KB Output is correct
100 Incorrect 93 ms 12952 KB Output isn't correct
101 Incorrect 67 ms 8016 KB Output isn't correct
102 Execution timed out 5012 ms 6524 KB Time limit exceeded