| Task: | Counting ones |
| Sender: | aalto26hh_038 |
| Submission time: | 2026-10-27 18:22:33 +0200 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | ACCEPTED | 0.26 s | details |
| #8 | ACCEPTED | 0.26 s | details |
| #9 | ACCEPTED | 0.26 s | details |
| #10 | ACCEPTED | 0.26 s | details |
Code
#include <iostream>
#include <vector>
using namespace std;
int bitCount(long long a){
int count = 0;
while (a > 0){
count += (a & 1); // Mask
a >>= 1;
}
return count;
}
int main(){
int n;
cin >> n;
vector<long long> numbers(n);
for (int i = 0; i < n; i++)
{
cin >> numbers[i];
}
int found_max = -1;
long long val1 = -1;
long long val2 = -1;
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
long long result = numbers[i] * numbers[j];
int ones = __builtin_popcountll(result);
if (found_max < ones)
{
found_max = ones;
val1 = numbers[i];
val2 = numbers[j];
}
}
}
cout << found_max << "\n";
cout << val1 << " " << val2 << "\n";
return 0;
}Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 5 42 100 73 94 1 |
| correct output |
|---|
| 9 42 73 |
| user output |
|---|
| 9 42 73 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 5 44 19 3 94 55 |
| correct output |
|---|
| 8 19 94 |
| user output |
|---|
| 8 19 94 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 10 551 71 709 840 291 122 511 570... |
| correct output |
|---|
| 15 893 438 |
| user output |
|---|
| 15 893 438 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 10 968 901 548 173 973 856 715 61... |
| correct output |
|---|
| 14 715 698 |
| user output |
|---|
| 14 715 698 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 100 221994 55181 870733 831328 206... |
| correct output |
|---|
| 29 396737 649459 |
| user output |
|---|
| 29 396737 649459 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 100 892861 947477 331980 209407 82... |
| correct output |
|---|
| 29 825210 578859 |
| user output |
|---|
| 29 825210 578859 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 10000 76308292 227339075 779918796 3... |
| correct output |
|---|
| 50 978548139 589096701 |
| user output |
|---|
| 50 978548139 589096701 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 10000 873429404 968540665 239439572 ... |
| correct output |
|---|
| 49 661547021 435157931 |
| user output |
|---|
| 49 661547021 435157931 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 10000 10374159 364461027 501874596 4... |
| correct output |
|---|
| 50 313852607 889662850 |
| user output |
|---|
| 50 313852607 889662850 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 10000 771320644 298761159 20751947 4... |
| correct output |
|---|
| 49 516789275 257079921 |
| user output |
|---|
| 49 516789275 257079921 |
