Pagini recente » Cod sursa (job #122545) | Cod sursa (job #1936598) | Cod sursa (job #489825) | Cod sursa (job #3143784) | Cod sursa (job #2279668)
#include <stdio.h>
int sushi(int *seq_and, int *seq_or, int x) {
*seq_and &= x;
*seq_or |= x;
return *seq_and + *seq_or;
}
int main() {
int N, x, suma = 0, seq_and = (1<<30) - 1, seq_or = 0, sum_max = 0;
int start = 1, imax = 1, jmax = 1;
freopen("sushi.in","r",stdin);
freopen("sushi.out","w",stdout);
scanf("%d", &N);
for (int i = 1; i <= N; i++) {
scanf("%d", &x);
if (suma < 2 * x) {
suma = 2 * x;
seq_and = x;
seq_or = x;
start = i;
} else {
suma = sushi(&seq_and, &seq_or, x);
}
if (sum_max < suma) {
imax = start;
jmax = i;
sum_max = suma;
}
}
printf("%d %d %d\n", imax, jmax, sum_max);
return 0;
}