Submission #529351

# Submission time Handle Problem Language Result Execution time Memory
529351 2022-02-22T20:32:30 Z Hanksburger Bali Sculptures (APIO15_sculpture) C++17
21 / 100
1 ms 384 KB
#include <bits/stdc++.h>
using namespace std;
long long dp1[2005][2005], dp2[2005], a[2005], b[2005];
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	long long n, l, r, x, loog=0, cur=0;
	cin >> n >> l >> r;
	for (long long i=1; i<=n; i++)
		cin >> a[i];
	for (long long i=1; i<=n; i++)
		b[i]=b[i-1]+a[i];
	x=b[n];
	while (x)
	{
		x/=2;
		loog++;
	}
	if (l==1)
	{
		for (long long i=loog-1; i>=0; i--)
		{
			cur|=1<<i;
			dp2[0]=0;
			for (long long j=1; j<=n; j++)
				dp2[j]=1e18;
			for (long long j=1; j<=n; j++)
				for (long long k=0; k<j; k++)
					if (!(cur&(b[j]-b[k])))
						dp2[j]=min(dp2[j], dp2[k]+1);
			if (dp2[n]>r)
				cur^=1<<i;
		}
	}
	else
	{
		long long cur=0;
		for (long long i=loog-1; i>=0; i--)
		{
			cur|=1<<i;
			dp1[0][0]=1;
			for (long long j=1; j<=n; j++)
				for (long long k=1; k<=j; k++)
					dp1[j][k]=0;
			for (long long j=1; j<=n; j++)
			{
				for (long long k=1; k<=j; k++)
				{
					for (long long m=k-1; m<j; m++)
						if (!(cur&(b[j]-b[m])))
							dp1[j][k]=1;
				}
			}
			bool imp=1;
			for (long long i=l; i<=r; i++)
			{
				if (dp1[n][i])
				{
					imp=0;
					break;
				}
			}
			if (imp)
				cur^=1<<i;
		}
	}
	cout << pow(2, loog)-cur-1;
	return 0;
}
# 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 1 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 0 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 0 ms 332 KB Output is correct
9 Correct 0 ms 204 KB Output is correct
10 Correct 0 ms 204 KB Output is correct
11 Correct 1 ms 332 KB Output is correct
12 Correct 1 ms 332 KB Output is correct
13 Correct 0 ms 332 KB Output is correct
14 Incorrect 1 ms 320 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 332 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 324 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 328 KB Output is correct
9 Correct 1 ms 320 KB Output is correct
10 Correct 0 ms 324 KB Output is correct
11 Correct 0 ms 204 KB Output is correct
12 Correct 1 ms 332 KB Output is correct
13 Correct 0 ms 204 KB Output is correct
14 Incorrect 1 ms 332 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 320 KB Output is correct
5 Correct 0 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 0 ms 332 KB Output is correct
11 Correct 0 ms 332 KB Output is correct
12 Correct 1 ms 332 KB Output is correct
13 Correct 1 ms 332 KB Output is correct
14 Correct 0 ms 332 KB Output is correct
15 Correct 1 ms 324 KB Output is correct
16 Correct 0 ms 332 KB Output is correct
17 Correct 1 ms 332 KB Output is correct
18 Correct 1 ms 332 KB Output is correct
19 Correct 1 ms 332 KB Output is correct
20 Correct 1 ms 332 KB Output is correct
21 Correct 1 ms 320 KB Output is correct
22 Correct 1 ms 332 KB Output is correct
23 Correct 1 ms 204 KB Output is correct
24 Correct 0 ms 324 KB Output is correct
25 Correct 1 ms 332 KB Output is correct
26 Correct 1 ms 240 KB Output is correct
27 Correct 1 ms 320 KB Output is correct
28 Correct 1 ms 332 KB Output is correct
29 Correct 1 ms 332 KB Output is correct
30 Correct 1 ms 328 KB Output is correct
31 Correct 0 ms 332 KB Output is correct
32 Correct 1 ms 320 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 1 ms 324 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 0 ms 324 KB Output is correct
10 Correct 0 ms 304 KB Output is correct
11 Correct 1 ms 328 KB Output is correct
12 Correct 1 ms 332 KB Output is correct
13 Correct 1 ms 324 KB Output is correct
14 Incorrect 1 ms 332 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 332 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 332 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 332 KB Output is correct
7 Correct 1 ms 252 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 0 ms 332 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 332 KB Output is correct
12 Correct 1 ms 332 KB Output is correct
13 Correct 0 ms 332 KB Output is correct
14 Incorrect 0 ms 204 KB Output isn't correct
15 Halted 0 ms 0 KB -