답안 #562455

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
562455 2022-05-14T12:12:59 Z DanShaders Broken Device 2 (JOI22_device2) C++17
0 / 100
255 ms 10376 KB
//bs:flags:grader.cpp
#include "Anna.h"
#include "Bruno.h"

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;

namespace x = __gnu_pbds;
template <typename T>
using ordered_set = x::tree<T, x::null_type, less<T>, x::rb_tree_tag, x::tree_order_statistics_node_update>;

template <typename T>
using normal_queue = priority_queue<T, vector<T>, greater<>>;

#define all(x) begin(x), end(x)
#define sz(x) ((int) (x).size())
#define x first
#define y second
using ll = long long;
using ld = long double;

int Declare() {
	return 600;
}

pair<vector<int>, vector<int>> Anna(ll n) {
	vector<int> x;
	for (int i = 0; i < 300; ++i) {
		x.push_back(1);
		x.push_back(0);
	}
	vector<int> y;
	for (int i = 0; i < 60; ++i) {
		y.push_back(1);
		y.push_back(1);
		y.push_back(1);
		if (n >> i & 1) {
			y.push_back(1);
			y.push_back(1);
			y.push_back(0);
			y.push_back(0);
		}
		y.push_back(0);
		y.push_back(0);
		y.push_back(0);
	}
	while (sz(y) < 600) {
		y.push_back(1);
		y.push_back(0);
	}
	return {x, y};
}

ll Bruno(vector<int> a) {
	int balance = 0, mx = 0;
	ll ans = 0;
	int i = 0;

	for (int u : a) {
		balance += (u == 0 ? -1 : 1);
		if (balance < 2) {
			if (mx >= 5) {
				ans |= 1ll << i;
				++i;
			} else if (mx >= 3) {
				++i;
			}
			mx = 0;
		} else {
			mx = max(mx, balance);
		}
	}
	cout << ans << endl;
	return ans;
}
//bs:flags:grader.cpp
#include "Anna.h"
#include "Bruno.h"

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;

namespace x = __gnu_pbds;
template <typename T>
using ordered_set = x::tree<T, x::null_type, less<T>, x::rb_tree_tag, x::tree_order_statistics_node_update>;

template <typename T>
using normal_queue = priority_queue<T, vector<T>, greater<>>;

#define all(x) begin(x), end(x)
#define sz(x) ((int) (x).size())
#define x first
#define y second
using ll = long long;
using ld = long double;

int Declare() {
	return 600;
}

pair<vector<int>, vector<int>> Anna(ll n) {
	vector<int> x;
	for (int i = 0; i < 300; ++i) {
		x.push_back(1);
		x.push_back(0);
	}
	vector<int> y;
	for (int i = 0; i < 60; ++i) {
		y.push_back(1);
		y.push_back(1);
		y.push_back(1);
		if (n >> i & 1) {
			y.push_back(1);
			y.push_back(1);
			y.push_back(0);
			y.push_back(0);
		}
		y.push_back(0);
		y.push_back(0);
		y.push_back(0);
	}
	while (sz(y) < 600) {
		y.push_back(1);
		y.push_back(0);
	}
	return {x, y};
}

ll Bruno(vector<int> a) {
	int balance = 0, mx = 0;
	ll ans = 0;
	int i = 0;

	for (int u : a) {
		balance += (u == 0 ? -1 : 1);
		if (balance < 2) {
			if (mx >= 5) {
				ans |= 1ll << i;
				++i;
			} else if (mx >= 3) {
				++i;
			}
			mx = 0;
		} else {
			mx = max(mx, balance);
		}
	}
	cout << ans << endl;
	return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 652 KB Do not print anything to standard output
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 652 KB Do not print anything to standard output
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 652 KB Do not print anything to standard output
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 652 KB Do not print anything to standard output
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 652 KB Do not print anything to standard output
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 255 ms 10376 KB Do not print anything to standard output
2 Halted 0 ms 0 KB -