Submission #37185737
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define for0(i, n) for(int i=0;i<n;i++)
#define for1(i, n) for(int i=1;i<=n;i++)
#define forr0(i, n) for(int i=n-1;i>=0;i--)
#define forr1(i, n) for(int i=n;i>0;i--)
#define forc(i, m, n) for(int i=m; i<n;i++)
#define ll long long
#define fs first
#define se second
#define push push_back
#define pop pop_back
const ll mod1 = 1000000007, mod2 = 998244353;
int a[200000];
ll solve(int l, int r, int p){
int it = (lower_bound(a+l, a+r+1, 1<<p)-a);
if (it == r+1 || it == l){
if (p == 0) return 0;
return solve(l, r, p-1);
}
if (p == 0) return 1;
return (1<<p)+ min(solve(l, it-1, p-1), solve(it, r, p-1));
}
int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int n;
cin>>n;
for0(i, n) cin>>a[i];
sort(a, a+n);
cout<<solve(0, n-1, 32)<<endl;
return 0;
}
Submission Info
| Submission Time |
|
| Task |
A - Count Down |
| User |
aradhyeagarwal |
| Language |
C++ (GCC 9.2.1) |
| Score |
0 |
| Code Size |
947 Byte |
| Status |
WA |
| Exec Time |
7 ms |
| Memory |
3568 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
0 / 100 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
00_sample_00.txt, 00_sample_01.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 01_case_00.txt, 01_case_01.txt, 01_case_02.txt, 01_case_03.txt, 01_case_04.txt, 01_case_05.txt, 01_case_06.txt, 01_case_07.txt, 01_case_08.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 00_sample_00.txt |
WA |
7 ms |
3372 KiB |
| 00_sample_01.txt |
WA |
3 ms |
3376 KiB |
| 01_case_00.txt |
WA |
2 ms |
3568 KiB |
| 01_case_01.txt |
WA |
2 ms |
3420 KiB |
| 01_case_02.txt |
WA |
3 ms |
3532 KiB |
| 01_case_03.txt |
WA |
2 ms |
3528 KiB |
| 01_case_04.txt |
WA |
2 ms |
3520 KiB |
| 01_case_05.txt |
WA |
2 ms |
3556 KiB |
| 01_case_06.txt |
WA |
2 ms |
3404 KiB |
| 01_case_07.txt |
WA |
2 ms |
3568 KiB |
| 01_case_08.txt |
WA |
3 ms |
3528 KiB |