悬小号1关求卡
  • 板块学术版
  • 楼主1234567890sjx
  • 当前回复14
  • 已保存回复15
  • 发布时间2024/10/15 14:29
  • 上次更新2024/10/15 18:52:18
查看原帖
悬小号1关求卡
1013955
1234567890sjx楼主2024/10/15 14:29

题目链接 https://www.luogu.com.cn/problem/U486952

#include <stdio.h>
#define N 1000100
int a[N], n;
char *p1,*p2,buf[50010];
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,50008,stdin),p1==p2)?EOF:*p1++)
int read(){
	int x=0;
	char c=gc();
	while(c<48)c=gc();
	while(c>47)x=(x<<3)+(x<<1)+(c^48),c=gc();
	return x;
}
int box[N];
unsigned seed = 203364;
signed main() {
    n = read();
    for (int i = 1; i <= n; ++i)
        ++box[read()];
    int idx = 0;
    for (int i = N - 1; i; --i)
        for (int j = 0; j < box[i]; ++j)
            a[++idx] = i;
    int mx = 0;
    for (int i = 1; i <= 1; ++i)
        for (int j = 1; j <= n; ++j)
            if ((a[i] | a[j]) > mx)
                mx = a[i] | a[j];
    printf("%d", mx);
}
2024/10/15 14:29
加载中...