답안 #39003

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
39003 2018-01-09T04:44:19 Z RockyB UFO (IZhO14_ufo) C++14
10 / 100
2000 ms 10724 KB
/// In The Name Of God

#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,sse3,sse4,popcnt,abm,mmx")

#include <bits/stdc++.h>

#define f first
#define s second

#define pb push_back
#define pp pop_back
#define mp make_pair

#define sz(x) (int)x.size()
#define sqr(x) ((x) * 1ll * (x))
#define all(x) x.begin(), x.end()

#define Kazakhstan ios_base :: sync_with_stdio(0), cin.tie(0), cout.tie(0);

#define nl '\n'
#define ioi exit(0);

typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;

const int N = (int)5e5 + 7, inf = (int)1e9 + 7, mod = (int)1e9 + 7;
const ll linf = (ll)1e18 + 7;
const int dx[] = {-1, 0, 1, 0, 1, -1, -1, 1}, dy[] = {0, 1, 0, -1, 1, -1, 1, -1};

using namespace std;

int n, m, r, k, p;
vector < vector <int> > a;
int get(int x1, int y1) {
	int res = 0;
	int x2 = x1 + p - 1, y2 = y1 + p - 1;
	for (int i = x1; i <= x2; i++) {
		for (int j = y1; j <= y2; j++) {
			res += a[i][j];
		}
	}
	return res;
}
int main() {
	#ifdef IOI2018
		freopen ("in.txt", "r", stdin);
	#endif
	Kazakhstan
	cin >> n >> m >> r >> k >> p;
	a.resize(n + 1);
	for (int i = 1; i <= n; i++) {
		a[i].resize(m + 1);
		for (int j = 1; j <= m; j++) {
			cin >> a[i][j];
		}
	}
	for (int t = 1; t <= k; t++) {
		char c;
		int x, y;
		cin >> c >> x >> y;
		if (c == 'N') {
			for (int i = n, done = 0; i >= 1 && done < r; i--) {
				if (a[i][x] >= y) a[i][x]--, done++;
			}
		}
		else if (c == 'S') {
			for (int i = 1, done = 0; i <= n && done < r; i++) {
				if (a[i][x] >= y) a[i][y]--, done++;
			}
		}
		else if (c == 'E') {
			for (int i = 1, done = 0; i <= m && done < r; i++) {
				if (a[x][i] >= y) a[x][i]--, done++;
			}
		}
		else {
			for (int i = m, done = 0; i >= 1 && done < r; i--) {
				if (a[x][i] >= y) a[x][i]--, done++;
			}
		}
	}
	int ans = 0;
	for (int i = 1; i <= n - p + 1; i++) {
		for (int j = 1; j <= m - p + 1; j++) {
			ans = max(ans, get(i, j));
		}
	}
	cout << ans;
	ioi
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 2176 KB Output is correct
2 Incorrect 0 ms 2176 KB Output isn't correct
3 Runtime error 0 ms 2176 KB Execution killed because of forbidden syscall writev (20)
4 Runtime error 3 ms 2176 KB Execution killed because of forbidden syscall writev (20)
5 Incorrect 19 ms 2308 KB Output isn't correct
6 Runtime error 49 ms 4024 KB Execution killed with signal 11 (could be triggered by violating memory limits)
7 Execution timed out 2000 ms 6096 KB Execution timed out
8 Execution timed out 2000 ms 6096 KB Execution timed out
9 Execution timed out 2000 ms 6096 KB Execution timed out
10 Execution timed out 2000 ms 6096 KB Execution timed out
11 Execution timed out 2000 ms 5952 KB Execution timed out
12 Execution timed out 2000 ms 6096 KB Execution timed out
13 Execution timed out 2000 ms 10724 KB Execution timed out
14 Execution timed out 2000 ms 5952 KB Execution timed out
15 Execution timed out 2000 ms 6096 KB Execution timed out
16 Execution timed out 2000 ms 5952 KB Execution timed out
17 Runtime error 103 ms 10724 KB Execution killed with signal 11 (could be triggered by violating memory limits)
18 Execution timed out 2000 ms 10536 KB Execution timed out
19 Execution timed out 2000 ms 6096 KB Execution timed out
20 Correct 446 ms 6084 KB Output is correct