Submission #235210

#TimeUsernameProblemLanguageResultExecution timeMemory
235210crossing0verArt Class (IOI13_artclass)C++17
9 / 100
84 ms7552 KiB
#include<bits/stdc++.h>
#include "artclass.h"
using namespace std;
int X[500][500][3],tot[3],mx[3],mn[3];

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++) {
		X[i][j][0] = R[i][j];
		X[i][j][1] = G[i][j];
		X[i][j][2] = B[i][j];
	}	
	for (int i = 0; i < H; i++)
	for (int j = 0; j < W; j++) 
	for (int t = 0; t < 3; t++) {
		tot[t] += X[i][j][t];
		if (X[i][j][0] <= X[i][j][t] && X[i][j][1] <= X[i][j][t] && X[i][j][2] <= X[i][j][t])
			mx[t]++;
		if (X[i][j][0] >= X[i][j][t] && X[i][j][1] >= X[i][j][t] && X[i][j][2] >= X[i][j][t])
			mn[t]++;
	}
	if ((tot[1] >= tot[0] && tot[1] >= tot[2]) || (mx[1] >= mx[0] && mx[1] >= mx[2])) return 2;
	for (int i = 0; i < 3; i++) {
		if ((2*tot[i] > (tot[0] + tot[1] + tot[2])))	return 4;
	}
		if ( 1ll*mx[0]*mx[1] <= 50000 || 1ll*mx[1]*mx[2] <= 50000 || 1ll*mx[0]*mx[2] <= 50000 ) return 4;
	if ( (double)tot[2] >= (double)1.3*tot[1] && (double)tot[2] >= (double)1.4*tot[0] )  {
		return 1;
	}
    return 3;
}       /*
int main() {
	
	int t;
	int R[500][500],G[500][500],B[500][500];
	cin >> t;
	while (t--) {
		int h,w;
		for (int i =0; i < h; i++)
		for (int j = 0; j < w; j++)
				  ;
	}
}  */    
#Verdict Execution timeMemoryGrader output
Fetching results...