Submission #280318

#TimeUsernameProblemLanguageResultExecution timeMemory
280318SaboonArt Class (IOI13_artclass)C++14
47 / 100
112 ms36600 KiB
#include "artclass.h"
#include <bits/stdc++.h>
using namespace std;
int maxn = 500 + 10;

int cnt[256][256][256];

int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) {
	for (int i = 0; i < H; i++)
		for (int j = 0; j < W; j++)
			cnt[R[i][j]][G[i][j]][B[i][j]] ++;
	int Green = 0, Yellow = 0;
	for (int i = 0; i < 255; i++)
		for (int j = 0; j < 255; j++)
			for (int k = 0; k < 255; k++){
				if (cnt[i][j][k] >= 1 and max({i,j,k}) == j and max({i,j,k}) - min({i,j,k}) >= 30)
					Green += cnt[i][j][k];
				if (cnt[i][j][k] >= 1 and max({i,j,k}) == i and max({i,j,k}) - min({i,j,j}) >= 30 and i - j <= 50)
					Yellow += cnt[i][j][k];
			}
	int cnt = 0, mnm = W/2;
	for (int i = 0; i < H; i++){
		int ted = 0;
		for (int j = 1; j < W; j++){
			if (abs(R[i][j]-R[i][j-1]) + abs(G[i][j]-G[i][j-1]) + abs(B[i][j]-B[i][j-1]) >= 100)
				ted ++;
		}
		if (ted >= W/8)
			cnt ++;
	}
	if (cnt >= H/2)
		return 3;	
	if (Green > 1000 and (Green+Yellow) > H*W/10)
		return 2;
	int diffcol = 0;
	for (int i = 1; i < H; i++)
		for (int j = 1; j < W; j++){
			if (abs(R[i][j]-R[i][j-1]) + abs(G[i][j]-G[i][j-1]) + abs(B[i][j]-B[i][j-1]) >= 100)
				diffcol ++;
			if (abs(R[i][j]-R[i-1][j]) + abs(G[i][j]-G[i-1][j]) + abs(B[i][j]-B[i-1][j]) >= 100)
				diffcol ++;
		}
	if (diffcol > 3000)
		return 1;
	return 3;
}

Compilation message (stderr)

artclass.cpp: In function 'int style(int, int, int (*)[500], int (*)[500], int (*)[500])':
artclass.cpp:21:15: warning: unused variable 'mnm' [-Wunused-variable]
   21 |  int cnt = 0, mnm = W/2;
      |               ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...