답안 #1021948

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1021948 2024-07-13T08:05:59 Z j_vdd16 축구 경기장 (IOI23_soccer) C++17
0 / 100
4500 ms 71140 KB
#include <algorithm>
#include <bitset>
#include <cstdint>
#include <cstring>
#include <iostream>
#include <limits.h>
#include <math.h>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>

//#define int long long
#define loop(X, N) for(int X = 0; X < (N); X++)
#define all(V) V.begin(), V.end()
#define rall(V) V.rbegin(), V.rend()

using namespace std;

typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> ii;
typedef vector<ii> vii;
typedef vector<vector<ii>> vvii;
typedef vector<bool> vb;
typedef vector<vector<bool>> vvb;


int biggest_stadium(int n, vvi f) {
	vvi high(n, vi(n)), low(n, vi(n));
	loop(x, n) {
		high[x][0] = 1 - f[x][0];
		for (int y = 1; y < n; y++) {
			if (f[x][y])
				high[x][y] = 0;
			else
				high[x][y] = high[x][y - 1] + 1;

		}

		low[x][n - 1] = 1 - f[x][n - 1];
		for (int y = n - 2; y >= 0; y--) {
			if (f[x][y])
				low[x][y] = 0;
			else
				low[x][y] = low[x][y + 1] + 1;
		}
		/*loop(y, n)
			cout << low[x][y] << ' ';

		cout << endl;*/
	}
	//cout << endl;

	int result = 0;
	loop(x, n) {
		loop(y, n) {
			int count = 0;
			int h = INT_MAX, l = INT_MAX;
			for (int x2 = x; x2 < n; x2++) {
				h = min(high[x2][y], h);
				count += h;

				l = min(low[x2][y], l);
				count += max(0, l - 1);
			}
			h = INT_MAX;
			for (int x2 = x - 1; x2 >= 0; x2--) {
				h = min(high[x2][y], h);
				count += h;

				l = min(low[x2][y], l);
				count += max(0, l - 1);
			}

			result = max(result, count);
			//cout << count << ' ';
		}
		//cout << endl;
	}

	return result;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB ok
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB ok
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 1 ms 344 KB ok
5 Correct 0 ms 348 KB ok
6 Correct 0 ms 348 KB ok
7 Correct 2 ms 604 KB ok
8 Correct 306 ms 4888 KB ok
9 Execution timed out 4570 ms 71140 KB Time limit exceeded
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB ok
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 0 ms 348 KB ok
6 Correct 0 ms 348 KB ok
7 Incorrect 0 ms 600 KB wrong
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB ok
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 0 ms 348 KB ok
6 Correct 0 ms 348 KB ok
7 Correct 0 ms 348 KB ok
8 Incorrect 0 ms 600 KB wrong
9 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB ok
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 1 ms 344 KB ok
6 Correct 0 ms 348 KB ok
7 Correct 0 ms 348 KB ok
8 Correct 0 ms 348 KB ok
9 Correct 0 ms 348 KB ok
10 Incorrect 0 ms 600 KB wrong
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB ok
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 1 ms 344 KB ok
6 Correct 0 ms 348 KB ok
7 Correct 0 ms 348 KB ok
8 Correct 0 ms 348 KB ok
9 Correct 0 ms 348 KB ok
10 Incorrect 0 ms 600 KB wrong
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB ok
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 1 ms 344 KB ok
6 Correct 0 ms 348 KB ok
7 Correct 0 ms 348 KB ok
8 Correct 2 ms 604 KB ok
9 Correct 306 ms 4888 KB ok
10 Execution timed out 4570 ms 71140 KB Time limit exceeded
11 Halted 0 ms 0 KB -