제출 #418058

#제출 시각아이디문제언어결과실행 시간메모리
418058cgiosyBali Sculptures (APIO15_sculpture)C++17
0 / 100
1 ms204 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

int main() {
	ios::sync_with_stdio(0);cin.tie(0);
	int N, S, E;
	cin>>N>>S>>E;
	ll A[N+1];
	A[0]=0;
	for(int i=1; i<=N; i++) cin>>A[i], A[i]+=A[i-1];
	ll l=0, r=1LL<<41;
	int L[N+1], R[N+1];
	L[0]=R[0]=0;
	while(l+1<r) {
		ll m=l+r>>1;
		for(int i=1; i<=N; i++) {
			L[i]=N, R[i]=1;
			for(int j=0; j<=i; j++) if(!(A[i]-A[j]&m)) {
				L[i]=min(L[i], L[j]+1);
				R[i]=max(R[i], R[j]+1);
			}
		}
		(S<=R[N] && L[N]<=E ? l : r)=m;
	}
	cout<<(1LL<<41)-1-l<<'\n';
}

컴파일 시 표준 에러 (stderr) 메시지

sculpture.cpp: In function 'int main()':
sculpture.cpp:16:9: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   16 |   ll m=l+r>>1;
      |        ~^~
sculpture.cpp:19:37: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   19 |    for(int j=0; j<=i; j++) if(!(A[i]-A[j]&m)) {
      |                                 ~~~~^~~~~
#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...