Submission #17733

# Submission time Handle Problem Language Result Execution time Memory
17733 2016-01-12T09:29:15 Z Adilkhan Hyper-minimum (IZhO11_hyper) C++
85 / 100
2000 ms 31720 KB
#include <bits/stdc++.h>

#define pb push_back
#define endl "\n"
#define mp make_pair 
#define fi first
#define se second
#define all(x) x.begin(), x.end()
#define fname ""
#define sz(x) (int)(x.size())

typedef long long ll;

using namespace std;

const ll N = (ll)(5e5) + 322;
const ll INF = (ll)(1e9);
const ll mod = (ll)(1e9) + 7;
const double eps = 1e-9;

int n, m, sz, a[40][40][40][40], sm, d[40][40][40][40], pre[40][40][40][40];

int getmn(int I, int J, int K, int Q) {
	int res = INF;
	for (int i = I; i <= I + m - 1; ++i) {
		for (int j = J; j <= J + m - 1; ++j) {
			for (int k = K; k <= K + m - 1; ++k) {
				for (int q = Q; q <= Q + m - 1; ++q) {
					res = min(a[i][j][k][q], res);					
					if (res == pre[i][j][k][q]) break;
				}
			}		
		}
	}
	return res;
}

int main () {
	//freopen(fname".in", "r", stdin);
	//freopen(fname".out", "w", stdout);
	scanf("%d%d", &n, &m);
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= n; ++j) {
			for (int k = 1; k <= n; ++k) {
			  for (int q = 1; q <= n; ++q) {
			  	scanf("%d", &a[i][j][k][q]);
			  }
			}
		}
	}
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= n; ++j) {
			for (int k = 1; k <= n; ++k) {
			  for (int q = 0; q < 40; ++q) {
		  		pre[i][j][k][q] = INF;
			  }
			  for (int q = n; q >= 1; --q) {
			  	pre[i][j][k][q] = min(pre[i][j][k][q + 1], a[i][j][k][q]);
			  }
			}
		}
	}

	sm = n - m + 1;
	for (int i = 1; i <= sm; ++i) {
		for (int j = 1; j <= sm; ++j) {
		  for (int k = 1; k <= sm; ++k) {
		  	for (int q = 1; q <= sm; ++q) {
					printf("%d ", getmn(i, j, k, q));
				}
		  }	
		}					
	}
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 31720 KB Output is correct
2 Correct 0 ms 31720 KB Output is correct
3 Correct 1 ms 31720 KB Output is correct
4 Correct 5 ms 31720 KB Output is correct
5 Correct 5 ms 31720 KB Output is correct
6 Correct 37 ms 31720 KB Output is correct
7 Correct 43 ms 31720 KB Output is correct
8 Correct 38 ms 31720 KB Output is correct
9 Correct 52 ms 31720 KB Output is correct
10 Correct 268 ms 31720 KB Output is correct
11 Correct 1592 ms 31720 KB Output is correct
12 Execution timed out 2000 ms 31720 KB Program timed out
13 Correct 172 ms 31720 KB Output is correct
14 Correct 567 ms 31720 KB Output is correct
15 Correct 380 ms 31720 KB Output is correct
16 Correct 1770 ms 31720 KB Output is correct
17 Execution timed out 2000 ms 31720 KB Program timed out
18 Correct 736 ms 31720 KB Output is correct
19 Execution timed out 2000 ms 31720 KB Program timed out
20 Correct 460 ms 31720 KB Output is correct