Submission #300960

# Submission time Handle Problem Language Result Execution time Memory
300960 2020-09-17T15:31:15 Z MickyOr Vision Program (IOI19_vision) C++17
0 / 100
60 ms 6004 KB
#include "vision.h"
#include <bits/stdc++.h>
#define fore(i, b, e) for (int i = b; i < (int)e; ++i)
#define pb push_back

using namespace std;

typedef vector<int> vi;

vi diagL[410], diagR[410];

int solve(int H, int W, int k) {
	vi resR, resL;
	vi v, pref;
	fore(i, 0, H+W-1) {
		v.pb(add_or(diagL[i]));
		pref.pb(add_or(v));
		if (i > 0) {
			if (i >= k) {
				int tmp = add_xor({pref[i-1], pref[i-k]});
				resL.pb( add_and({v.back(), tmp}) );
			}
			else if (i == k-1) {
				resL.pb( add_and({v.back(), pref[i-1]}) );
			}
		}
	}
	v.clear();
	pref.clear();
	fore(i, 0, H+W-1) {
		v.pb(add_or(diagR[i]));
		pref.pb(add_or(v));
		if (i > 0) {
			if (i >= k) {
				int tmp = add_xor({pref[i-1], pref[i-k]});
				resR.pb( add_and({v.back(), tmp}) );
			}
			else if (i == k-1) {
				resR.pb( add_and({v.back(), pref[i-1]}) );
			}
		}
	}
	int rL = add_or(resL);
	int rR = add_or(resR);
	return add_and({rL, rR});
}

void construct_network(int H, int W, int K) {
	fore(i, 0, H) {
		fore(j, 0, W) {
			diagL[i+j].pb(i*W + j);
			diagR[i-j+W-1].pb(i*W + j);
		}
	}
	if (H+W-2 == K) {
		assert(false);
		add_not(solve(H, W, K));
	}
	else {
		add_xor({solve(H, W, K), solve(H, W, K+1)});
	}
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Runtime error 1 ms 512 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Runtime error 1 ms 512 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Runtime error 1 ms 512 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Runtime error 1 ms 512 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 14 ms 1272 KB Output is correct
2 Incorrect 11 ms 1152 KB on inputs (0, 0), (0, 98), expected 0, but computed 1
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 288 KB Output is correct
2 Runtime error 1 ms 512 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 60 ms 6004 KB Output is correct
2 Correct 0 ms 384 KB Output is correct
3 Correct 7 ms 1024 KB Output is correct
4 Correct 12 ms 1408 KB Output is correct
5 Correct 11 ms 1280 KB Output is correct
6 Correct 11 ms 1280 KB Output is correct
7 Correct 36 ms 3452 KB Output is correct
8 Correct 34 ms 3444 KB Output is correct
9 Correct 60 ms 6004 KB Output is correct
10 Runtime error 1 ms 512 KB Execution killed with signal 11
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Runtime error 1 ms 512 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -