Submission #17874

# Submission time Handle Problem Language Result Execution time Memory
17874 2016-01-13T03:15:17 Z Adilkhan Hyper-minimum (IZhO11_hyper) C++
80 / 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];
  
inline 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 () {
    //ios_base :: sync_with_stdio(false);
  	cin.tie(0);  
  //freopen(fname".in", "r", stdin);
    //freopen(fname".out", "w", stdout);
    cin >> 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) {
                cin >> a[i][j][k][q];
              }
              pre[i][j][k][n + 1] = 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) {
                cout << 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 4 ms 31720 KB Output is correct
4 Correct 8 ms 31720 KB Output is correct
5 Correct 0 ms 31720 KB Output is correct
6 Correct 51 ms 31720 KB Output is correct
7 Correct 52 ms 31720 KB Output is correct
8 Correct 103 ms 31720 KB Output is correct
9 Correct 110 ms 31720 KB Output is correct
10 Correct 325 ms 31720 KB Output is correct
11 Correct 1743 ms 31720 KB Output is correct
12 Execution timed out 2000 ms 31720 KB Program timed out
13 Correct 348 ms 31720 KB Output is correct
14 Correct 844 ms 31720 KB Output is correct
15 Correct 869 ms 31720 KB Output is correct
16 Execution timed out 2000 ms 31720 KB Program timed out
17 Execution timed out 2000 ms 31720 KB Program timed out
18 Correct 1227 ms 31720 KB Output is correct
19 Execution timed out 2000 ms 31720 KB Program timed out
20 Correct 1000 ms 31720 KB Output is correct