Submission #102009

#TimeUsernameProblemLanguageResultExecution timeMemory
102009Nicholas_PatrickBali Sculptures (APIO15_sculpture)C++17
0 / 100
1078 ms504 KiB
#include <bits/stdc++.h> using namespace std; int n, a, b; vector <long long> y, psy; int checkPossibility(long long x, long long toDeduct=0, int checkFrom=0){ if(checkFrom==n) return 0; int ret=n; for(int i = checkFrom;i < n;i ++){ if(((psy[i]-toDeduct)|x)==x) ret=min(ret, checkPossibility(x, psy[i], i+1)); if(psy[i]-toDeduct>x) break; } return ret+1; } int main(){ scanf("%d %d %d", &n, &a, &b); y.resize(n); psy.resize(n); for(int i = 0;i < n;i ++) scanf("%lld", &y[i]); psy[0]=y[0]; for(int i = 1;i < n;i ++) psy[i]=psy[i-1]+y[i]; if(a==1){ long long check=0x1FFFFFFFFFF; for(int i = 40;i >= 0;i --){ if(checkPossibility(check-(1ll<<i))<=b){ check-=1ll<<i; } } printf("%lld\n", check); }else{ } }

Compilation message (stderr)

sculpture.cpp: In function 'int main()':
sculpture.cpp:19:7: 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:23:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld", &y[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...