Submission #424319

# Submission time Handle Problem Language Result Execution time Memory
424319 2021-06-11T19:42:13 Z flappybird Vision Program (IOI19_vision) C++14
12 / 100
33 ms 3396 KB
#include "vision.h"

#include <bits/stdc++.h>
#include <unordered_map>
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx,avx2,fma")

using namespace std;
typedef int ll;

ll H_, W_;

unordered_map<ll, vector<ll>> sum, sub;
unordered_map<ll, ll> sum_, sub_;

ll getloc(ll x, ll y) {
	return x * W_ + y;
}

void construct_network(int H, int W, int K) {
	H_ = H;
	W_ = W;
	ll i, j;
	ll s = 100000000, e = 0;
	for (i = 0; i < H; i++) {
		for (j = 0; j < W; j++) {
			sum[i + j].push_back(getloc(i, j));
			sub[i - j].push_back(getloc(i, j));
			e = max(e, i - j);
			s = min(s, i - j);
		}
	}
	unordered_map<ll, vector<ll>>::iterator it;
	for (it = sum.begin(); it != sum.end(); it++) sum_[it->first] = add_or(it->second);
	for (it = sub.begin(); it != sub.end(); it++) sub_[it->first] = add_or(it->second);
	vector<ll> res;
	for (i = 0; i + K <= W + H - 2; i++) {
		vector<ll> v;
		v.push_back(sum_[i]);
		v.push_back(sum_[i + K]);
		res.push_back(add_and(v));
	}
	for (i = s; i + K <= e; i++) {
		vector<ll> v;
		v.push_back(sub_[i]);
		v.push_back(sub_[i + K]);
		res.push_back(add_and(v));
	}
	vector<ll> nres;
	for (i = 0; i <= W + H - 2; i++) {
		vector<ll> v;
		for (j = i + K + 1; j <= W + H - 2; j++) v.push_back(sum_[j]);
		if (v.empty()) break;
		vector<ll> vv;
		vv.push_back(add_or(v));
		vv.push_back(sum_[i]);
		nres.push_back(add_and(vv));
	}
	for (i = s; i <= e; i++) {
		vector<ll> v;
		for (j = i + K + 1; j <= e; j++) v.push_back(sub_[j]);
		if (v.empty()) break;
		vector<ll> vv;
		vv.push_back(add_or(v));
		vv.push_back(sub_[i]);
		nres.push_back(add_and(vv));
	}
	vector<ll> vvv;
	if (vvv.empty()) {
		add_or(res);
		return;
	}
	vvv.push_back(add_not(add_or(nres)));
	vvv.push_back(add_or(res));
	add_and(vvv);
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Incorrect 1 ms 204 KB on inputs (0, 2), (1, 0), expected 0, but computed 1
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Incorrect 1 ms 204 KB on inputs (0, 2), (1, 0), expected 0, but computed 1
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Incorrect 1 ms 204 KB on inputs (0, 2), (1, 0), expected 0, but computed 1
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Incorrect 1 ms 204 KB on inputs (0, 2), (1, 0), expected 0, but computed 1
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 716 KB Output is correct
2 Correct 2 ms 460 KB Output is correct
3 Correct 3 ms 460 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 6 ms 716 KB Output is correct
6 Correct 3 ms 588 KB Output is correct
7 Correct 1 ms 408 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 6 ms 796 KB Output is correct
10 Correct 4 ms 588 KB Output is correct
11 Correct 2 ms 460 KB Output is correct
12 Correct 2 ms 460 KB Output is correct
13 Correct 1 ms 396 KB Output is correct
14 Correct 1 ms 332 KB Output is correct
15 Correct 7 ms 820 KB Output is correct
16 Correct 4 ms 588 KB Output is correct
17 Correct 2 ms 460 KB Output is correct
18 Correct 2 ms 460 KB Output is correct
19 Correct 1 ms 332 KB Output is correct
20 Correct 1 ms 332 KB Output is correct
21 Correct 0 ms 204 KB Output is correct
22 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 4 ms 588 KB Output is correct
4 Correct 3 ms 460 KB Output is correct
5 Correct 2 ms 460 KB Output is correct
6 Correct 2 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 7 ms 844 KB Output is correct
9 Correct 5 ms 716 KB Output is correct
10 Correct 4 ms 588 KB Output is correct
11 Correct 3 ms 460 KB Output is correct
12 Correct 2 ms 460 KB Output is correct
13 Correct 6 ms 716 KB Output is correct
14 Correct 4 ms 588 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 1 ms 332 KB Output is correct
17 Correct 6 ms 716 KB Output is correct
18 Correct 4 ms 460 KB Output is correct
19 Correct 1 ms 332 KB Output is correct
20 Correct 18 ms 2024 KB Output is correct
21 Incorrect 14 ms 1392 KB on inputs (0, 0), (199, 99), expected 0, but computed 1
22 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 33 ms 3396 KB on inputs (126, 120), (176, 169), expected 0, but computed 1
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Incorrect 1 ms 204 KB on inputs (0, 2), (1, 0), expected 0, but computed 1
8 Halted 0 ms 0 KB -