답안 #41423

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
41423 2018-02-17T08:11:27 Z RockyB Bali Sculptures (APIO15_sculpture) C++14
25 / 100
1000 ms 4720 KB
/// In The Name Of God

#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")

#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)2000 + 7;
const int inf = (int)1e9 + 7;
const int mod = (int)1e9 + 7;
const ll linf = (ll)1e18 + 7;

const int dx[] = {-1, 0, 1, 0, 1, -1, -1, 1};
const int dy[] = {0, 1, 0, -1, 1, -1, 1, -1};

using namespace std;

int n, A, B;
int a[N];

bool ok[N][N];

bool good(ll x, ll mask) {
	for (int i = 0; i < 38; i++) {
		if (!(mask & (1LL << i))) {
			if (x & (1LL << i)) return 0;
		}
	}
	return 1;
}
bool dbg;
bool check(int cnt, ll mask) {
	memset(ok, 0, sizeof(ok));
	ok[0][0] = 1;
	for (int id = 1; id <= cnt; id++) {
		for (int i = 1; i <= n; i++) {
			ll sum = 0;
			for (int j = i; j >= 1; j--) {
				sum += a[j];
				if (!good(sum, mask)) {
					continue;
				}
				ok[i][id] |= ok[j - 1][id - 1];
			}
		}
	}
	return ok[n][cnt];
}
int main() {
	#ifdef IOI2018
		freopen ("in.txt", "r", stdin);
	#endif
	Kazakhstan
	cin >> n >> A >> B;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	ll ans = linf;
	for (int j = A; j <= B; j++) {
		ll mask = (1LL << 38) - 1;
		for (int i = 37; i >= 0; i--) {
			mask ^= 1LL << i;
			if (!check(j, mask)) {
				mask ^= 1LL << i;
			}
		}
		ans = min(ans, mask);
	}
	cout << ans;
	ioi
}
# 결과 실행 시간 메모리 Grader output
1 Correct 29 ms 4216 KB Output is correct
2 Correct 36 ms 4448 KB Output is correct
3 Correct 12 ms 4516 KB Output is correct
4 Correct 27 ms 4516 KB Output is correct
5 Correct 11 ms 4516 KB Output is correct
6 Correct 152 ms 4720 KB Output is correct
7 Correct 28 ms 4720 KB Output is correct
8 Correct 29 ms 4720 KB Output is correct
9 Correct 29 ms 4720 KB Output is correct
10 Correct 29 ms 4720 KB Output is correct
11 Correct 12 ms 4720 KB Output is correct
12 Correct 29 ms 4720 KB Output is correct
13 Correct 193 ms 4720 KB Output is correct
14 Correct 21 ms 4720 KB Output is correct
15 Correct 12 ms 4720 KB Output is correct
16 Correct 34 ms 4720 KB Output is correct
17 Correct 19 ms 4720 KB Output is correct
18 Correct 27 ms 4720 KB Output is correct
19 Correct 15 ms 4720 KB Output is correct
20 Correct 13 ms 4720 KB Output is correct
21 Correct 43 ms 4720 KB Output is correct
22 Correct 42 ms 4720 KB Output is correct
23 Correct 42 ms 4720 KB Output is correct
24 Correct 13 ms 4720 KB Output is correct
25 Correct 66 ms 4720 KB Output is correct
26 Correct 104 ms 4720 KB Output is correct
27 Correct 27 ms 4720 KB Output is correct
28 Correct 37 ms 4720 KB Output is correct
29 Correct 119 ms 4720 KB Output is correct
30 Correct 30 ms 4720 KB Output is correct
31 Correct 68 ms 4720 KB Output is correct
32 Correct 13 ms 4720 KB Output is correct
33 Correct 142 ms 4720 KB Output is correct
34 Correct 234 ms 4720 KB Output is correct
35 Correct 29 ms 4720 KB Output is correct
36 Correct 241 ms 4720 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 28 ms 4720 KB Output is correct
2 Correct 36 ms 4720 KB Output is correct
3 Correct 12 ms 4720 KB Output is correct
4 Correct 29 ms 4720 KB Output is correct
5 Correct 12 ms 4720 KB Output is correct
6 Correct 150 ms 4720 KB Output is correct
7 Correct 32 ms 4720 KB Output is correct
8 Correct 32 ms 4720 KB Output is correct
9 Correct 31 ms 4720 KB Output is correct
10 Correct 31 ms 4720 KB Output is correct
11 Correct 12 ms 4720 KB Output is correct
12 Correct 34 ms 4720 KB Output is correct
13 Correct 205 ms 4720 KB Output is correct
14 Correct 21 ms 4720 KB Output is correct
15 Correct 12 ms 4720 KB Output is correct
16 Correct 34 ms 4720 KB Output is correct
17 Correct 20 ms 4720 KB Output is correct
18 Correct 30 ms 4720 KB Output is correct
19 Correct 15 ms 4720 KB Output is correct
20 Correct 13 ms 4720 KB Output is correct
21 Correct 42 ms 4720 KB Output is correct
22 Correct 47 ms 4720 KB Output is correct
23 Correct 49 ms 4720 KB Output is correct
24 Correct 13 ms 4720 KB Output is correct
25 Correct 68 ms 4720 KB Output is correct
26 Correct 108 ms 4720 KB Output is correct
27 Correct 255 ms 4720 KB Output is correct
28 Correct 110 ms 4720 KB Output is correct
29 Correct 80 ms 4720 KB Output is correct
30 Correct 438 ms 4720 KB Output is correct
31 Correct 624 ms 4720 KB Output is correct
32 Correct 605 ms 4720 KB Output is correct
33 Correct 14 ms 4720 KB Output is correct
34 Correct 611 ms 4720 KB Output is correct
35 Correct 462 ms 4720 KB Output is correct
36 Correct 198 ms 4720 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 29 ms 4720 KB Output is correct
2 Correct 37 ms 4720 KB Output is correct
3 Correct 11 ms 4720 KB Output is correct
4 Correct 28 ms 4720 KB Output is correct
5 Correct 12 ms 4720 KB Output is correct
6 Correct 146 ms 4720 KB Output is correct
7 Correct 33 ms 4720 KB Output is correct
8 Correct 34 ms 4720 KB Output is correct
9 Correct 28 ms 4720 KB Output is correct
10 Correct 31 ms 4720 KB Output is correct
11 Correct 12 ms 4720 KB Output is correct
12 Correct 31 ms 4720 KB Output is correct
13 Correct 192 ms 4720 KB Output is correct
14 Correct 244 ms 4720 KB Output is correct
15 Correct 110 ms 4720 KB Output is correct
16 Correct 63 ms 4720 KB Output is correct
17 Correct 411 ms 4720 KB Output is correct
18 Correct 626 ms 4720 KB Output is correct
19 Correct 622 ms 4720 KB Output is correct
20 Correct 14 ms 4720 KB Output is correct
21 Correct 625 ms 4720 KB Output is correct
22 Correct 463 ms 4720 KB Output is correct
23 Correct 201 ms 4720 KB Output is correct
24 Correct 621 ms 4720 KB Output is correct
25 Correct 287 ms 4720 KB Output is correct
26 Execution timed out 1071 ms 4720 KB Time limit exceeded
27 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 32 ms 4720 KB Output is correct
2 Correct 35 ms 4720 KB Output is correct
3 Correct 12 ms 4720 KB Output is correct
4 Correct 27 ms 4720 KB Output is correct
5 Correct 12 ms 4720 KB Output is correct
6 Correct 143 ms 4720 KB Output is correct
7 Correct 28 ms 4720 KB Output is correct
8 Correct 29 ms 4720 KB Output is correct
9 Correct 29 ms 4720 KB Output is correct
10 Correct 30 ms 4720 KB Output is correct
11 Correct 12 ms 4720 KB Output is correct
12 Correct 30 ms 4720 KB Output is correct
13 Correct 196 ms 4720 KB Output is correct
14 Correct 23 ms 4720 KB Output is correct
15 Correct 12 ms 4720 KB Output is correct
16 Correct 37 ms 4720 KB Output is correct
17 Correct 20 ms 4720 KB Output is correct
18 Correct 28 ms 4720 KB Output is correct
19 Correct 16 ms 4720 KB Output is correct
20 Correct 12 ms 4720 KB Output is correct
21 Correct 43 ms 4720 KB Output is correct
22 Correct 47 ms 4720 KB Output is correct
23 Correct 42 ms 4720 KB Output is correct
24 Correct 13 ms 4720 KB Output is correct
25 Correct 61 ms 4720 KB Output is correct
26 Correct 102 ms 4720 KB Output is correct
27 Correct 27 ms 4720 KB Output is correct
28 Correct 35 ms 4720 KB Output is correct
29 Correct 115 ms 4720 KB Output is correct
30 Correct 28 ms 4720 KB Output is correct
31 Correct 65 ms 4720 KB Output is correct
32 Correct 12 ms 4720 KB Output is correct
33 Correct 134 ms 4720 KB Output is correct
34 Correct 233 ms 4720 KB Output is correct
35 Correct 30 ms 4720 KB Output is correct
36 Correct 236 ms 4720 KB Output is correct
37 Correct 242 ms 4720 KB Output is correct
38 Correct 109 ms 4720 KB Output is correct
39 Correct 64 ms 4720 KB Output is correct
40 Correct 431 ms 4720 KB Output is correct
41 Correct 603 ms 4720 KB Output is correct
42 Correct 594 ms 4720 KB Output is correct
43 Correct 14 ms 4720 KB Output is correct
44 Correct 619 ms 4720 KB Output is correct
45 Correct 486 ms 4720 KB Output is correct
46 Correct 198 ms 4720 KB Output is correct
47 Correct 632 ms 4720 KB Output is correct
48 Correct 290 ms 4720 KB Output is correct
49 Execution timed out 1052 ms 4720 KB Time limit exceeded
50 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 27 ms 4720 KB Output is correct
2 Correct 35 ms 4720 KB Output is correct
3 Correct 12 ms 4720 KB Output is correct
4 Correct 27 ms 4720 KB Output is correct
5 Correct 12 ms 4720 KB Output is correct
6 Correct 150 ms 4720 KB Output is correct
7 Correct 29 ms 4720 KB Output is correct
8 Correct 31 ms 4720 KB Output is correct
9 Correct 29 ms 4720 KB Output is correct
10 Correct 34 ms 4720 KB Output is correct
11 Correct 13 ms 4720 KB Output is correct
12 Correct 30 ms 4720 KB Output is correct
13 Correct 198 ms 4720 KB Output is correct
14 Correct 27 ms 4720 KB Output is correct
15 Correct 39 ms 4720 KB Output is correct
16 Correct 114 ms 4720 KB Output is correct
17 Correct 30 ms 4720 KB Output is correct
18 Correct 65 ms 4720 KB Output is correct
19 Correct 12 ms 4720 KB Output is correct
20 Correct 142 ms 4720 KB Output is correct
21 Correct 241 ms 4720 KB Output is correct
22 Correct 31 ms 4720 KB Output is correct
23 Correct 252 ms 4720 KB Output is correct
24 Correct 272 ms 4720 KB Output is correct
25 Correct 117 ms 4720 KB Output is correct
26 Correct 64 ms 4720 KB Output is correct
27 Correct 408 ms 4720 KB Output is correct
28 Correct 635 ms 4720 KB Output is correct
29 Correct 618 ms 4720 KB Output is correct
30 Correct 14 ms 4720 KB Output is correct
31 Correct 682 ms 4720 KB Output is correct
32 Correct 476 ms 4720 KB Output is correct
33 Correct 218 ms 4720 KB Output is correct
34 Correct 669 ms 4720 KB Output is correct
35 Correct 302 ms 4720 KB Output is correct
36 Execution timed out 1056 ms 4720 KB Time limit exceeded
37 Halted 0 ms 0 KB -