Submission #43650

#TimeUsernameProblemLanguageResultExecution timeMemory
43650gnoorBali Sculptures (APIO15_sculpture)C++14
0 / 100
2 ms520 KiB
#include <cstdio>
#include <algorithm>
#include <vector>

using namespace std;

int tbl[5000];

int n,a,b;

int num(long long mask) {
	int grp=1;
	long long sum=0;
	for (int i=0;i<n;i++) {
		sum+=tbl[i];
		if (sum&(~mask)) {
			sum=tbl[i];
			grp++;
		}
	}
	return grp;
}

void printBin(long long x) {
	for (int i=50;i>=0;i--) {
		printf("%d",(x&(1ll<<i))?1:0);
	}
	printf("\n");
}

int main () {
	scanf("%d%d%d",&n,&a,&b);
	for (int i=0;i<n;i++) {
		scanf("%d",&tbl[i]);
	}
	long long mask=(1ll<<50)-1;
	//printBin(mask);
	for (int i=49;i>=0;i--) {
		mask^=(1ll<<i);
		//printBin(mask);
		int tmp=num(mask);
		if (tmp>b) {
			mask^=(1ll<<i);				
		}
	}
	printf("%lld\n",mask);
	return 0;
}

Compilation message (stderr)

sculpture.cpp: In function 'int main()':
sculpture.cpp:32:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d%d",&n,&a,&b);
                          ^
sculpture.cpp:34:22: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&tbl[i]);
                      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...