# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
43655 | gnoor | Bali Sculptures (APIO15_sculpture) | C++14 | 2 ms | 612 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
int tbl[5000];
int dis[5000];
int n,a,b;
int num(long long mask) {
memset(dis,63,sizeof(dis));
dis[0]=0;
for (int i=0;i<=n;i++) {
for (int j=i+1;j<=n;j++) {
if (((tbl[j]-tbl[i])&(~mask))==0) {
dis[j]=min(dis[j],dis[i]+1);
}
}
}
return dis[n];
}
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=1;i<=n;i++) {
scanf("%d",&tbl[i]);
tbl[i]+=tbl[i-1];
}
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||tmp<a) {
mask^=(1ll<<i);
}
}
printf("%lld\n",mask);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |